在Highcharts上设置y轴的最小数据间隔

mar*_*wer 1 jquery bounds highcharts

我需要使用Highcharts绘制图表,我必须对数据进行舍入,而不是围绕小值绘制非常小的变化.

例如.我有yAxis数据在0到10之间移动,情节还可以.例如.我有yAxis数据在0.0003和0.00031之间移动,该图将显示太多详细信息.

我需要找到一种方法来制作图表绘图数据,以便我可以欣赏+ - 0.01的变化,仅此而不是强加maxmin参数,以便图表将自动定义其边界.此外,我不想舍入每个数据点,因为我希望能够自由地放大图表.

你知道如何使用Highcharts实现这一目标吗?谢谢!

mmc*_*kle 6

解决方案是tickInterval根据您希望在y轴上看到的刻度数来计算.

假设您只想看10个刻度(为了保持图表整洁)您可以做这样的事情http://jsfiddle.net/W9xKR/9/

代码示例还将最小刻度间隔设置为0.01,因此您永远不会看到低于此数字的网格线,这将为您提供所需的详细程度.

如果您在该示例中使用数据数组,您将看到它

var data = [ 0.0001, 0.0003, 0.000305, 0.000306, 0.000307, 0.000309, 0.00031, 0.01, 0.035, 0.07, 0.15, 3];
Run Code Online (Sandbox Code Playgroud)

会给你10个刻度,相隔0.3.但是,如果从数据集中删除较大的值:

var data = [ 0.0001, 0.0003, 0.000305, 0.000306, 0.000307, 0.000309, 0.00031, 0.01, 0.035];
Run Code Online (Sandbox Code Playgroud)

你只会得到6个嘀嗒声,相差0.01.

请注意,如果要在每个缩放级别保持相同的刻度数,则必须在缩放时重新计算此值.