13

所以我有几个设计师的要求:

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

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

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

提前感谢您的任何指导。

4

3 回答 3

22

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

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

这是一个供您参考的小提琴http://jsfiddle.net/gfNYk/1/

于 2013-04-18T06:24:48.767 回答
3

series[i].visible 是属性

于 2015-06-05T16:12:33.177 回答
3

如果您有很多系列,则hide()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属性

于 2015-12-16T12:41:23.510 回答