根据flot文档(https://github.com/flot/flot/blob/master/API.md):
“选项”min“/”max“是精确的最小值/最大值 规模。如果您未指定其中任何一个,则会自动生成一个值 根据最小/最大数据值选择。“
我正在指定最小值和最大值,但仍然会根据最小/最大数据值(var d1
)而不是指定的最小值和最大值自动选择生成的图形。
这是我的代码:
var i = 0;
while (i < myarray.length) { // length of myarray is 3, hence 3 graphs are produced
// generate date object from date and time strings in array
startTime = new Date(myarray[i].date[0] +'T' + myarray[i].time[0] + ':00');
// generate timestamp from date object
startTime = startTime.getTime();
endTime = new Date(myarray[i].date[1] +'T' + myarray[i].time[1] + ':00');
endTime = endTime.getTime();
var d1 = [[startTime, 0], [(((endTime - startTime)/2) + startTime), 1], [endTime, 0]];
var options = { series: { curvedLines: { active: true }}};
// min is the time 2014-11-20, 3 AM (timestamp: 1416453000000)
// max is the time 2014-11-20, 11 PM (timestamp: 1416525000000)
$.plot($("#" + i), [{data: d1, xaxis: {min: (new Date('2014-11-20T03:00:00')).getTime(), max: (new Date('2014-11-20T23:00:00')).getTime(), mode: "time", twelveHourClock: true, timeformat: "%I:%M"}, lines: { show: true}, curvedLines: {apply: true}}], options);
i++;
}
图表看起来像这样(注意所有都有不同的最小值和最大值):
P.S。由于x轴点显示为时间戳而不是指定的“小时:分钟”(%I:%M
)格式,因此Flot时间序列插件似乎不起作用。
答案 0 :(得分:2)
如果你看看他们的time example他们将xaxis配置放在选项中(所以第三个参数)和不是包含在图表数据(第二个参数)中你是:
$.plot("#placeholder", [d], {
xaxis: {
mode: "time",
minTickSize: [1, "quarter"],
min: (new Date(1999, 0, 1)).getTime(),
max: (new Date(2000, 0, 1)).getTime()
}
});