我使用zoomRange函数为图形提供了缩放范围,通过该函数我可以限制放大和缩小的范围。它需要两个值,例如x轴和y轴的zoomRange[min, max]
。
我面临的问题是我应该给这个范围的正确值是什么。当我给出zoomRange[0.1, 10]
文档中给出的范围时,缩放根本不起作用,当我给出一些随机值时,图表会更多地放大y轴,然后是x轴,反之亦然。
我给图表的价值如下 -
xaxis: {
mode: "time",
zoomRange: [240000, 2550000]
},
yaxis: {
zoomRange: [2, 22]
}
这些值是任意值,因此对不同数据量的效果不佳。
我想要zoomRange可以对我绘制的任何类型的图表执行完美的值。
P.S。:几个月前我问过这个问题,仍然没有解决问题
答案 0 :(得分:3)
我发现良好的缩放行为是将panRange设置为数据范围的最小值和最大值,+ / - ~10%。然后将zoomRange设置为数据的最小增量* some-small-integer,并为上部zoomRange值设置null(panRange将限制缩小的范围,因此上拉zoomRange限制不是必需的)。例如,如果您的x数据的库存价格数据为$ 35- $ 85和每小时间隔,那么你可以这样做:
xaxis: {
mode: "time",
// set the lowest (zoomed all the way in) range on the x axis to 2 hours
zoomRange: [7200000, null],
// set the pan limits slightly outside the data range
panRange: [min_time*0.9, max_time*1.1]
},
yaxis: {
// set the lowest range on the y-axis to 5 dollars
zoomRange: [5, null],
// set the pan limits slightly outside the data range
panRange: [30, 90]
}
因此,通过此示例,您将能够在2小时内一直缩小到5美元的增量。当您完全缩放时,最终将得到panRange参数中指定的范围。
将最小zoomRange设置为较低将允许您放大更多(但考虑到数据的粒度,没有多大意义)。将panRange限制设置得更宽可以让你缩小更多。
答案 1 :(得分:-1)
不知道你是否想到这一点。无论如何,我发现了这个:
“ zoomRange ”是可以进行缩放的时间间隔,例如同 zoomRange:[1,100]变焦永远不会缩放轴,以便 min和max之间的差值小于1或大于100。 您可以将它们中的任何一个设置为null以忽略。
此处:http://code.google.com/p/flot/source/browse/trunk/jquery.flot.navigate.js?r=186