1

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

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

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

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

4

2 回答 2

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];

会给你 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。

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

于 2011-09-27T12:28:31.790 回答
1

看看这是否对您有帮助:

alignTicks: false

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

于 2013-01-17T09:01:43.377 回答