我一直在修补,用 Flot 及其一些插件制作了一个小图表。目的是提供一个跟踪基础体温的图表,x 轴为每天的日期,y 轴为度数。平移将移动 x 轴,因此您可以看到之前的日期等,单击将产生一个新点,捕捉到网格。
平移时基于时间的轴上的网格不移动。当我将轴类型更改为正常时,就会出现这种情况。我真的想让整个网格移动,因为现在线系列有点“漂浮”在网格上。有谁知道如何做到这一点?我在选项中遗漏了什么吗?
这比看到更难解释,所以 fsfiddle 提供了: http://jsfiddle.net/jorgthuijls/caM3q/1/
触发行为变化的是 x 轴选项上的选项 mode: 'time'
( fiddle 第 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,
},
看看添加几个点后移动图形会发生什么。
非常感谢!
最佳答案
这是两件事的结合:
我们刚刚修复了 0.8.0 中的一个错误,因此如果您尝试使用 jquery.flot.time.js从大师那里,您会立即注意到改进。
即使进行了修复,刻度线仍然会稍微跳动。这是因为您的范围足够大,蜱虫每大约 3 天才会出现一次。然而,在内部,报价生成器仍然将一天视为最小间隔。因此,只要您平移一天,即使这只是刻度间隔大小的三分之一,它也会重新计算。
您通常可以通过分配适当高的 minTickSize 来解决该问题;例如,[5, 'day']
,让报价生成器相信它不需要重新计算。当您提前知道绘图的尺寸时,此方法效果最佳。
关于jQuery Flot 基于时间的轴平移问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16129328/