在Highcharts中隐藏第一个yAxis标签

时间:2015-07-03 12:07:41

标签: javascript jquery highcharts

我希望在highcharts中隐藏第一个yAxis标签。我无法找到如何做这个选项。这个问题非常接近这个问题:Hide first yaxis label。然而,我正在寻找的解决方案是针对highcharts。

yaxis hide

从上图中,我只想隐藏 -10

我需要添加哪些options才能完成此任务?

下面添加的代码只是我创建的一个通用函数,它接受一个我已经命名的选项(一个对象)的参数,我已经设置了一个选项列表(例如标题,副标题) ,系列......)。

var hc_bubble = function(options){
  $(options.target).highcharts({
      chart: {
        type: 'bubble',
        zoomType: 'xy'
      },
      title: {
        text: options.title || 'unknown'
      },
      subtitle: {
        text: options.subtitle || ''
      },
      xAxis: {
        type: options.date || 'datetime',
        labels: {
                  formatter: function() {
                      return Highcharts.dateFormat("%b %Y", this.value)
                  }
              },
        title: {
          enabled: true,
          text: options.xTitle || 'unknown'
        },
        startOnTick: true,
        endOnTick: true,
        showLastLabel: true
      },
      yAxis: {
        title: {
          text: options.yTitle || 'unknown'
        }
      },
      tooltip:{
        headerFormat: '<b>{series.name}</b><br>',
        pointFormat: '{point.y} ' + options.yType || 'Connections'
      },
      series: options.series
  });
}

2 个答案:

答案 0 :(得分:3)

虽然您的解决方案有效,但如果您的意图始终是为了防止yAxis在左下方显示标签,那么您可能会想到一些更通用的解决方案:

yAxis: {
    labels: {
        formatter: function() {
            if ( this.isFirst ) { return ''; }
            return this.value;
        }
    }
},

利用Highcharts在isFirst上拥有的this属性可以防止您依赖&#34;魔术数字&#34; (同样地,如果您想尝试,也会有isLast值 - 尽管我没有看到它的使用量。)

答案 1 :(得分:2)

我一开始不会发布这个问题因为我刚刚找到答案(在文档中搜索了一段时间后),但我认为这可以帮助其他人。

只需确保在标签对象中添加formatter callback

  yAxis: {
    labels:{
      formatter: function(){
        if(this.value >= 0){
          return this.value;
        }
      }
    }
  }

http://api.highcharts.com/highcharts#yAxis.labels.formatter