public.component.assets.js.flot.flot-data.js Maven / Gradle / Ivy
// Flot Line Chart with Tooltips
$(document).ready(function() {
console.log("document ready");
var offset = 0;
plot();
function plot() {
var sin = [], cos = [];
for (var i = 0; i < 12; i += 0.2) {
sin.push([ i, Math.sin(i + offset) ]);
cos.push([ i, Math.cos(i + offset) ]);
}
var options = {
series : {
lines : {
show : true
},
points : {
show : true
}
},
grid : {
hoverable : true
// IMPORTANT! this is needed for tooltip to work
},
yaxis : {
min : -1.2,
max : 1.2
},
tooltip : true,
tooltipOpts : {
content : "'%s' 的 %x.1 是 %y.4",
shifts : {
x : -60,
y : 25
}
}
};
var plotObj = $.plot($("#flot-line-chart"), [ {
data : sin,
label : "sin(x)"
}, {
data : cos,
label : "cos(x)"
} ], options);
}
});
// Flot Pie Chart with Tooltips
$(function() {
var data = [ {
label : "Safari浏览器",
data : 1
}, {
label : "Firefox浏览器",
data : 3
}, {
label : "IE浏览器",
data : 9
}, {
label : "Chrome浏览器",
data : 20
} ];
var plotObj = $.plot($("#flot-pie-chart"), data, {
series : {
pie : {
show : true
}
},
grid : {
hoverable : true
},
tooltip : true,
tooltipOpts : {
content : "%p.0%, %s", // show percentages, rounding to 2 decimal places
shifts : {
x : 20,
y : 0
},
defaultTheme : false
}
});
});
// Flot Chart Dynamic Chart
$(function() {
var container = $("#flot-moving-line-chart");
// Determine how many data points to keep based on the placeholder's initial size;
// this gives us a nice high-res plot while avoiding more than one point per pixel.
var maximum = container.outerWidth() / 2 || 300;
var data = [];
function getRandomData() {
if (data.length) {
data = data.slice(1);
}
while (data.length < maximum) {
var previous = data.length ? data[data.length - 1] : 50;
var y = previous + Math.random() * 10 - 5;
data.push(y < 0 ? 0 : y > 100 ? 100 : y);
}
// zip the generated y values with the x values
var res = [];
for (var i = 0; i < data.length; ++i) {
res.push([ i, data[i] ])
}
return res;
}
//
series = [ {
data : getRandomData(),
lines : {
fill : true
}
} ];
//
var plot = $.plot(container, series, {
grid : {
borderWidth : 1,
minBorderMargin : 20,
labelMargin : 10,
backgroundColor : {
colors : [ "#fff", "#e4f4f4" ]
},
margin : {
top : 8,
bottom : 20,
left : 20
},
markings : function(axes) {
var markings = [];
var xaxis = axes.xaxis;
for (var x = Math.floor(xaxis.min); x < xaxis.max; x += xaxis.tickSize * 2) {
markings.push({
xaxis : {
from : x,
to : x + xaxis.tickSize
},
color : "rgba(232, 232, 255, 0.2)"
});
}
return markings;
}
},
xaxis : {
tickFormatter : function() {
return "";
}
},
yaxis : {
min : 0,
max : 110
},
legend : {
show : true
}
});
// Update the random dataset at 25FPS for a smoothly-animating chart
setInterval(function updateRandom() {
series[0].data = getRandomData();
plot.setData(series);
plot.draw();
}, 40);
});
© 2015 - 2025 Weber Informatics LLC | Privacy Policy