我是javascript的新手,我的问题是: 1.当设置xaxis {mode:" time"}(导入jquery.flot.time.js)的选项时,它甚至不会绘制任何点。 2.当xaxis选项仅为{show:true}时,它会绘制一个从左到右缺失的图表,但实际上数据正在刷新(移位和推送正确),而不是更新,如从右移动到写入。 3. http://www.pureexample.com/ExampleTesterII-123.html这个网站给了一个演示,但是我不能在本地运行它(我确定导入了相同的js,css,html文件),如果有人在本地运行它请告诉我。
谢谢,伙计们。
以下是我一直在使用的一些代码。
var data = [],
totalPoints = 100;
var updateInterval = 30;
var now = new Date().getTime();
var dataset;
function getMyData(){
data.shift();
while( data.length < totalPoints){
var y = Math.random() * 100;
data.push([now += updateInterval, y]);
}
return data;
}
var option;
option = {
series: {
shadowSize: 0, // Drawing is faster without shadows
lines: {
show: true,
lineWidth: 1.2,
fill: true
}
},
yaxis: {
min: 0,
max: 100,
tickFormatter: function (v, axis) {
if (v % 10 == 0) {
return v + "%";
} else {
return "";
}
}
},
xaxis: {
show: true,
mode: "time",
tickSize: [2, "second"],
tickFormatter: function (v, axis) {
var date = new Date(v);
if (date.getSeconds() % 20 == 0) {
var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
return hours + ":" + minutes + ":" + seconds;
} else {
return "";
}
}
}};
$(document).ready(function(){
data = getMyData();
var plot = $.plot("#placeholder", [{label: "Label", data: data}], option);
plot.draw();
function update(){
plot.setData([getMyData()]);
plot.draw();
setTimeout(update, updateInterval);
}
update();
});