我有一个带负值的面积图。与the example they give没有什么特别的不同,但有一点不同:我想让零点位于Y轴的中心。
我知道可以通过将yAxis.max
设为 n,将yAxis.min
设为 −n 来实现,其中 n 代表图表的波峰或波谷的绝对值,取其中较大的一个(如this fiddle),但是,我的数据是动态的,所以我事先不知道 n 需要是什么。
我对Highcharts比较陌生,所以我可能缺少一种通过配置来完成这项工作的方法,让Highcharts为我处理它,但看起来我需要在页面加载时和新数据进入时使用Javascript手动调整y轴。
是否有一种简单的、配置驱动的方法来保持零点位于Y轴中心?
6条答案
按热度按时间vxbzzdmp1#
在深入研究了Highcharts API之后,我最终找到了一种通过配置来实现这一点的方法。每个轴都有一个名为
tickPositioner
的配置选项,您可以为该选项提供一个返回数组的函数。该数组包含您希望刻度出现在轴上的确切值。下面是我的新tickPositioner
配置,它在Y轴上放置了5个刻度。零正好在中间,最大值在两个极端:jfgube3f2#
我知道这是一个老职位,但我想我会张贴我的解决方案无论如何(这是灵感来自一个macserv建议以上在接受的答案),因为它可能会帮助其他人谁正在寻找一个类似的解决方案:
v6ylcynt3#
您可以使用getExtremes和setExtremes方法执行此操作
例如:
http://jsfiddle.net/jlbriggs/j3NTM/1/
hs1ihplo4#
这是我的解决方案。它的好处是你可以维护
tickInterval
。c9qzyr3d5#
以防有人搜查,
还有一个选择。我最终陷入了类似的境地。下面是我的解决方案:
http://jsfiddle.net/j3NTM/21/
pprl5pva6#
这是一个老问题,但最近我也遇到了同样的问题,这里是我的解决方案,可以概括:
因此,在您的图表轴tickPositioner中,您可以添加: