jQuery Flot基于时间的轴平移问题

时间:2013-04-21 08:32:43

标签: jquery flot panning

我一直在修补,用Flot和一些插件制作一个小图表。目的是提供跟踪基础体温的图表,其中x轴为每日日期,y轴为度。平移将移动x轴,因此您可以查看以前的日期等,单击将导致新点,捕捉到网格。

平移时基于时间的轴上的网格不移动。当我将轴类型更改为正常时,它会执行此操作。我真的希望让整个网格移动,因为现在线路系列在网格上“浮动”。有谁知道如何使这项工作?我在选项中遗漏了什么吗?

这比较难解释,所以fsfiddle提供:http://jsfiddle.net/jorgthuijls/caM3q/1/

触发行为更改是x轴选项上的选项mode: 'time'(小提琴的第24行)。

需要注意的代码:

        xaxis: {
            show: true,
            min: firstDay,
            max: lastDay,
            ticks: 31,
            mode: 'time',
            timezone: 'browser',
            timeformat: '%d. %m'
        },

将此更改为

        xaxis: {
            show: true,
            min: firstDay,
            max: lastDay,
            ticks: 31,
        },

看看在添加几个点后移动图表会发生什么。

非常感谢!

1 个答案:

答案 0 :(得分:1)

这是两件事的组合:

  1. 我们刚刚修复了0.8.0中的错误,因此如果您尝试使用主人的jquery.flot.time.js,您会立即注意到有所改进。

  2. 即使有了修复,嘀嗒声仍然会跳跃一下。那是因为你有足够大的范围,每隔~3天就会出现一个滴答。然而,在内部,节拍生成器仍然将一天视为最小间隔。因此,一旦您平移一天,它就会重新计算,即使这只是蜱间隔大小的三分之一。

  3. 您通常可以通过指定适当高的minTickSize来解决该问题;例如,[5, 'day']说服tick生成器不需要重新计算。当您提前知道绘图的尺寸时,这种方法效果最佳。