Highcharts:在legendItemClick之后获得系列的可见性

时间:2013-12-31 07:07:50

标签: javascript highcharts

我有一个包含多个系列的图表,如果已通过点击图例禁用了其中两个系列,我想修改其中的选项。

以下操作不起作用,因为visible具有单击之前的状态值。还有另一种方法可以做我想在下面完成的事情吗?

plotOptions: {
    series: {
        events: {
            legendItemClick: function(event) {
                if(this.yAxis.series[0].visible && this.yAxis.series[1].visible) {
                    // do some action
                }
            }
        }
    }
},

1 个答案:

答案 0 :(得分:7)

您可以稍微修改一下这个行为:

plotOptions: {
  series: {
    events: {
      legendItemClick: function(event) {
          var series = this.yAxis.series,
              seriesLen = series.length,
              visible = this.visible ? 1 : -1; 
              // +1 when visible series, because it will be changed after that callback

          for(var i = 0; i < seriesLen; i++) {
            if(!series[i].visible) {
              visible++;
            }
          }
          if(visible >= 2){
            //do some action
          }
      }
    }
  }
},