Highcharts.js图表自身,会根据y轴的数值,计算出一套y轴刻度,但是有时这种自带的计算方式并不符合我们的要求,这时,我们可以自己写一套算法。
虽然yAxis的tickInterval可以设置y轴刻度的步长,但是当我们并不确定Y轴的数值范围或当最大值与最小值跨度较大时,并不实用。tickPixelInterval虽然可以设置坐标轴刻度之间像素距离,但最终的结果仍然是经过了Highcharts默认的一套算法计算过了,并不是完全按照tickPixelInterval的设置来的。而且如果我们需要在柱状图的柱子上方显示数值dataLabels,当数值较大时,有可能会导致数值显示被挤到柱子内部而不是上方。如下图:
这是因为,正常显示的位置不够了,而又没有设置可以超过图表区域,就会掉到下面了。归根结底还是y轴刻度分布不合理。通过重写yAxis的tickPositioner返回值,可以自定义一套Y轴刻度的计算方法,代码如下:
yAxis: {
min: 0,
lineColor: &