我需要使用 Highcharts 绘制图表,并且我必须对数据进行排序,以免围绕小值绘制非常小的变化。
例如。我的 yAxis 数据在 0 到 10 之间移动,并且绘图正常。 例如。我的 yAxis 数据在 0.0003 和 0.00031 之间移动,并且绘图将显示太多详细信息。
我需要找到一种方法来制作图表绘制数据,以便我可以欣赏 +- 0.01 的变化,仅此而已,而无需强加 max
和 min
参数,以便图表自动定义其边界。另外,我不想对每个数据点进行舍入,因为我希望能够自由缩放图表。
您知道如何使用 Highcharts 实现这一目标吗? 谢谢!
最佳答案
解决方案是根据您希望在 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。
请注意,如果您想在每个缩放级别保持相同的刻度数,则必须在缩放时重新计算此值。
关于jquery - 设置 Highcharts 上 y 轴的最小数据间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7567663/