我有50个不同的系列,所以默认情况下,我将它们隐藏起来,所以用户只需点击他想看的那些。
有时,人们希望快速展示所有内容,或者隐藏所有内容。我无法弄清楚如何打开/关闭所有。这有可能吗?我这么认为,但无法找到办法。
答案 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');
}
});