highcharts - 在yAxis中隐藏一些标签

时间:2015-10-01 15:12:48

标签: javascript highcharts highcharts-ng

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

yAxis包含以下标签:-5-2.502.55

我的配置非常接近 - 我有适量的网格/绘图线,但我想在yAxis中隐藏一些文本标签不是与标签有关的实际线条)。

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

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

yAxis: {
  labels: {
    step: 5
  }
}

JSFiddle

任何想法如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

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

我不知道这是否是高级图表最优雅的方法,但您可以使用标签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
  },

  //...

},

Example

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