Highcharts:限制类别轴上的第 n 个标签

Highcharts: Restricting nth label on a category axis

我有一个类别轴,其中类别显示在 y 轴上。显示的标签由 highcharts 从类别数组中自动选择。类别的索引决定了轴上显示的标签。该指数由 highcharts 自动计算,并且做得相当好。但有时下一个索引会超过类别数组的长度,当这种情况发生时,索引号会显示在轴上。这使得它在其他标签中看起来很糟糕。

使用步骤

labels: {
   step: <number> 
}

有助于防止这个问题,但我更喜欢 highcharts 自动计算,无论如何我可以避免显示超过类别数组长度的索引吗?

我认为这是由默认设置为 true 的 yAxis.endOnTick 引起的:https://jsfiddle.net/ky40k1mk/3/ vs https://jsfiddle.net/ky40k1mk/2/

当然,我们可以使用 xAxis.tickPositioner 替换最后一个报价,而不是删除最后一个报价(因此图表将无处结束),请参阅演示:https://jsfiddle.net/ky40k1mk/4/ (or: https://jsfiddle.net/ky40k1mk/5/ )

tickPositioner

tickPositioner: function() {
    var ticks = this.tickPositions,
        last = ticks.length - 1;

  if (ticks[last] > this.dataMax) {
    ticks.splice(last, 1, this.dataMax); // replace last tick with current max
  }
  return ticks;
}