highcharts - 在 yAxis 中隐藏一些标签

highcharts - Hide some labels in yAxis

我有一个带有 y 轴的图表,最小值为 -5,最大值为 5。

y 轴有这些标签:-5-2.502.55

我的配置非常接近 - 我有适量的 grid/plot 行,但我想在 yAxis 中隐藏几个 文本标签 (不是与标签相关的实际行)。

换句话说,我想删除或隐藏 -2.52.5 标签。

我在 yAxis 中尝试了各种方法,例如 step,但没有达到我想要的效果。

yAxis: {
  labels: {
    step: 5
  }
}

JSFiddle

有什么实现方法吗?

我几乎没有 post 这个问题,因为我找到了一个(非 SO)答案 - 也许这会对其他人有所帮助。

我不知道这是否是 highcharts 最优雅的方法,但您可以使用标签 formatter 来实现。

在我的例子中,不是这样的:

labels: {
  formatter: function () {
    return this.value+'%';
  }
}

我们可以添加一个条件来检查标签的值,并且只 return 如果它是我们想要的东西。总计:

yAxis: {

  //...

  labels: {
    formatter: function () {

      if (this.value !== -2.5 && this.value !== 2.5) {
        return this.value+'%';
      }

    },
    step: 1
  },

  //...

},

Example

警告:如果您有动态数据,则对某些值进行硬编码并以这种方式依赖它们是有风险的。对于这种情况,我们没有动态数据,它们 是固定的,因此对我们来说是安全的。另一种方法可能是根据需要迭代每个 value/label 并且只迭代每个 X 子项 return。