更正jquery flot图的缩放范围值

时间:2013-09-02 07:28:23

标签: javascript jquery graph plot

我使用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。:几个月前我问过这个问题,仍然没有解决问题

2 个答案:

答案 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