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

时间:2011-09-27 10:29:07

标签: jquery highcharts bounds

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

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

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

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

2 个答案:

答案 0 :(得分:6)

解决方案是根据您希望在y轴上看到多少个刻度来计算tickInterval

假设您只想看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];

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

var data = [ 0.0001, 0.0003, 0.000305, 0.000306, 0.000307, 0.000309, 0.00031, 0.01, 0.035];

你将只得到6个嘀嗒声,相差0.01。

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

答案 1 :(得分:1)

看看这是否对您有所帮助:

alignTicks: false

http://jsfiddle.net/highcharts/ebuTs/3735/。 从代码中删除alignTicks以查看差异。