在yAxis中隐藏一些标签

Hide some labels in yAxis

本文关键字:标签 隐藏 yAxis      更新时间:2023-09-26

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

yAxis有以下标签:-5, -2.5, 0, 2.5, 5

我的配置是如此接近-我有适量的网格/情节线,但我想在yAxis中隐藏一对文本标签 (不是与标签相关的实际行)。

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

我在yAxis中尝试了各种方法,例如步骤,但它没有达到我想要的。

yAxis: {
  labels: {
    step: 5
  }
}

JSFiddle

有什么办法吗?

我几乎没有发布这个问题,因为我发现了一个(非so)答案-也许这将帮助其他人。

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

在我的例子中,而不是这个:

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

可以添加一个条件来检查标签的值,只返回我们想要的值。一起:

yAxis: {
  //...
  labels: {
    formatter: function () {
      if (this.value !== -2.5 && this.value !== 2.5) {
        return this.value+'%';
      }
    },
    step: 1
  },
  //...
},

例子

警告:如果您有动态数据,那么硬编码一些值并以这种方式依赖它们是有风险的。对于这个实例,我们没有动态数据,它们被固定,所以对我们来说是安全的。另一种方法是遍历每个值/标签,只返回需要的每个X子元素。