首先勾选最小值,最后一个勾选最大值

时间:2017-11-30 23:01:10

标签: highcharts

我希望我的图表上的刻度线表示Y轴从数据集的最小值开始,并以最大值结束。

我一直在使用这个数据集进行测试:

chartData = [30, 20, 100, 130, 40, 90];

我尝试计算集合的最大值和最小值并使用setExtremes()方法,但没有成功。当我这样做时,第一个刻度为0,最后一个为240.当我不使用setExtremes()时,第一个刻度为0,最后一刻为160,所以setExtremes()实际上是更糟糕的是我在文档中读到如果endOnTickstartOnTick设置为true,则最小值和最大值四舍五入到最接近的刻度线,但如果我将它们设置为false ,我只得到1个刻度,它是100。

有没有办法实现这个目标?我不确定这是否重要,但我的图表非常小:

enter image description here

2 个答案:

答案 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