Flot中的最小和最大选项不起作用

时间:2014-11-13 01:19:13

标签: javascript jquery flot

根据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++;
        }

图表看起来像这样(注意所有都有不同的最小值和最大值):

Graph 1

Graph 2

Graph 3

P.S。由于x轴点显示为时间戳而不是指定的“小时:分钟”(%I:%M)格式,因此Flot时间序列插件似乎不起作用。

1 个答案:

答案 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()
            }
        });