为什么我的 highcharts yaxis tick 位置会改变图表的最小值和最大值?

Why do my highcharts yaxis tick positions change the min and max of my chart?

我有一个 highcharts 散点图,我想自定义刻度线的位置。我看到我可以使用每个轴的 tickPositioner 回调函数来做到这一点。这似乎工作正常,但是...

  1. 当我在 y 轴上定义和使用 tickPositioner 时,它似乎也将图表的最大值和最小值重置为我的报价范围。
  2. 然而,当我在 x 轴上使用它时,最小和最大范围保持正确。

为什么 x 轴和 y 轴之间存在这种不同的行为?如何在不影响轴的整体范围的情况下正确设置 y 轴上的刻度位置?

下面是我的图表配置的相关部分,在 https://jsfiddle.net/cfarmerga/a6mvgbcf/

上还有一个 fiddle 对此进行了演示
{
  // The positioner in the x axis sets the ticks and preserves the displayed range
  xAxis: {
    tickPositioner: function () { return [2, 4, 6, 8] }
  },
  // The positioner in the y axis sets the ticks but changes the displayed range
  yAxis: [{
    tickPositioner: function () { return [2, 4, 6, 8] }
  }],
}

X 轴和 Y 轴之间的差异是 endOnTick and startOnTick 的默认值。

  yAxis: [{
    gridLineWidth: 1,
    startOnTick: false,
    endOnTick: false
  }],

演示:https://jsfiddle.net/BlackLabel/u7gthrnL/