隐藏/显示Highcharts中的所有系列?

时间:2013-09-15 22:58:17

标签: highcharts

我有50个不同的系列,所以默认情况下,我将它们隐藏起来,所以用户只需点击他想看的那些。

有时,人们希望快速展示所有内容,或者隐藏所有内容。我无法弄清楚如何打开/关闭所有。这有可能吗?我这么认为,但无法找到办法。

2 个答案:

答案 0 :(得分:7)

使用series.setVisible(false, false)reference隐藏每个系列。 - 隐藏所有系列后,调用chart.redraw()仅重绘一次图表。

答案 1 :(得分:2)

此解决方案基于http://jsfiddle.net/pGuEv/

  var chart = $('#chart-container').highcharts();
  var $hide_show_all_button = $('#hide_show_all_series_button');

  $hide_show_all_button.click(function() {
    var series = chart.series[0];
    if (series.visible) {
      $(chart.series).each(function(){
        this.setVisible(false, false);
      });
      chart.redraw();
      $hide_show_all_button.html('show all');
    } else {
      $(chart.series).each(function(){
        this.setVisible(true, false);
      });
      chart.redraw();
      $hide_show_all_button.html('hide all');
    }
  });