我希望我的图表上的刻度线表示Y轴从数据集的最小值开始,并以最大值结束。
我一直在使用这个数据集进行测试:
chartData = [30, 20, 100, 130, 40, 90];
我尝试计算集合的最大值和最小值并使用setExtremes()
方法,但没有成功。当我这样做时,第一个刻度为0,最后一个为240.当我不使用setExtremes()
时,第一个刻度为0,最后一刻为160,所以setExtremes()
实际上是更糟糕的是我在文档中读到如果endOnTick
和startOnTick
设置为true
,则最小值和最大值四舍五入到最接近的刻度线,但如果我将它们设置为false
,我只得到1个刻度,它是100。
有没有办法实现这个目标?我不确定这是否重要,但我的图表非常小:
答案 0 :(得分:0)
默认情况下,Highcharts会启动自己的算法来查找刻度线的最佳值。 setExtremes
仅负责设置绘图中可见的最小值和最大值 - 它不保证刻度将落在这些值上。
tickPositions
迫使Highcharts在给定位置上设置刻度:
tickPositions: [Math.min(...data), Math.max(...data)]
现场演示: http://jsfiddle.net/kkulig/mwe1mgrg/
API参考: https://api.highcharts.com/highcharts/yAxis.tickPositions
答案 1 :(得分:0)
Hey Guys它可以帮助您解决问题;)(Angular 5)
我认为你可以在更新功能中传递你想要的任何内容来更新你的轴。
this.chart.ref.xAxis[0].update({tickPositions: [1,2,3,4,5]}, true);
享受。 Maks Yaremenko