Highcharts - 如何以编程方式切换图例项并确定选择了哪些项

时间:2013-04-18 02:13:05

标签: javascript jquery highcharts

所以我有一些设计师的要求:

1)允许用户通过单击图表容器外部的链接来选择/取消选择所有图例项。这意味着我需要以编程方式打开或关闭图表中的所有项目,无论当前是否选择/取消选择。

2)确定图表中选择(或启用)的特定图例项目,以便我们可以从选择中生成另一个图表。

我没有看到使用API​​的方法,所以我想知道是否有人为这两种方法(或两者)提出了可能的解决方案。

提前感谢任何指导。

3 个答案:

答案 0 :(得分:21)

Highcharts允许我们从外部切换图例状态。

series[0].hide(); series[0].show(); 由highcharts提供,我们可以使用它来实现您要求的功能。

这里有一个小提琴供你参考http://jsfiddle.net/gfNYk/1/

答案 1 :(得分:3)

series [i] .visible是属性

答案 2 :(得分:2)

如果您有很多系列,隐藏() show()会导致非常糟糕的效果。或者,您可以在每个系列上使用 setVisible(),最后使用 redraw()

    $('#uncheckAll').click(function(){
        var chart = $('#container').highcharts();
        var series = chart.series;
        for(i=0; i < chart.series.length; i++) {
            series[i].setVisible(false, false);
        }
        chart.redraw();
    });

    $('#checkAll').click(function(){
        var chart = $('#container').highcharts();
        var series = chart.series;
        for(i=0; i < chart.series.length; i++) {
            series[i].setVisible(true, true);
        }
        chart.redraw();
    });

确定是否选择了系列,您可以使用 series.visible 属性