如何强制从 min/max 开始并防止自动舍入

How to force start on min/max and prevent automatic rounding

我试图强制图形以我的 minY/maxY 值开始,但它一直在舍入刻度值。

我当前的代码如下所示:

yAxis: [
          {
              tickAmount: 3,
              min: minYAxis,
              max: maxYAxis,
              endOnTick: false,
              gridLineWidth: 0,
              title: {
                text: ...,
              },
              alignTicks: false,
            }
      ],

图片上的最小值和最大值应为最大值:1630 最小值:1400。 在当前实施中,一些系列值也高于最大刻度值。

默认情况下,Highcharts 强制在轮值上打勾。如果您将 yAxis.minyAxis.max 设置为某个值,该值不能被 round tickInterval 整除(例如 2、5、10、20、25、50、100),该值将四舍五入为.

有一些方法可以用另一种方式设置刻度。 最强制的是设置严格说明的 tickPositions 数组,给定轴上的刻度应该是什么,或者使用 tickFormatter 函数,returns tickPositions 数组。

示例代码:

let data = [1500, 1400, 1550, 1630, 1600],
  min = Math.min(...data),
  mid = (Math.max(...data) - Math.min(...data)) / 2 + Math.min(...data),
  max = Math.max(...data);
    
Highcharts.chart('container', {

  yAxis: [{
    tickPositions: [min, mid, max]
  }],

  series: [{
    data: data
  }]

});

演示:

https://jsfiddle.net/BlackLabel/07kzt12x/

API 参考文献:

https://api.highcharts.com/highcharts/yAxis.tickPositions https://api.highcharts.com/highcharts/yAxis.tickPositioner