Highchart:一次只显示一个系列

时间:2014-06-11 00:35:56

标签: javascript highcharts

我想一次只显示一个系列。 此外,我想禁用该选项,根本不显示任何系列。

我发现了这个:http://forum.highcharts.com/viewtopic.php?f=9&t=6399 但答案不起作用。

2 个答案:

答案 0 :(得分:7)

问题是使用过时的Highcharts网址和旧版本的jQuery。禁用隐藏系列使用legendItemClick的可能性。请参阅:http://jsfiddle.net/tK38J/65/

plotOptions: {
  series: {
    events: {
      show: function () {
        var chart = this.chart,
            series = chart.series,
            i = series.length,
            otherSeries;

        while (i--) {
          otherSeries = series[i];
          if (otherSeries != this && otherSeries.visible) {
            otherSeries.hide();
          }
        }
      },
      legendItemClick: function () {
        if (this.visible) {
          return false;
        }
      }
    }
  }
},

答案 1 :(得分:0)

一种更紧凑的方式。而且,它还可以与多个系列组合使用,这些系列组合在一个图例项中。

                    events: {
                    legendItemClick: function () {
                        if (this.visible) {
                            return false;
                        }else{
                            let series = this.chart.series,
                                i = series.length,
                                otherSeries;
                            while(i--) {
                                otherSeries = series[i]
                                if (otherSeries != this && otherSeries.visible) {
                                    otherSeries.hide();
                                }
                            }
                        }
                    }
                },