多个图表上的独特图例

时间:2014-06-23 00:06:06

标签: javascript highcharts

我使用highcharts生成8个#containers或图表。现在我想将一个图例链接到所有容器,这有点棘手。

plotOptions: {
            series: {
                events: {
                    legendItemClick: function (event) {        
                            var XYZ = $('#container2').highcharts(),
                            series = XYZ.get(this.options.id); //get corresponding series

                        if (series) {
                            if (this.visible) {
                                series.hide();
                            } else {
                                series.show();

                                }

                        }
                    }
                }
            }
        },

给我两个容器之间的链接。

尝试添加

for(var num=0; num<containerNums; num++)
                        {
                            if(num != exclude)
                            {
                              var XYZ = $('#container'+num).highcharts(),

让它通过所有可能的容器(容器#1-#8),但没有结果。

关于我做错的任何想法?

1 个答案:

答案 0 :(得分:1)

参见相关示例:基于饼图的http://jsfiddle.net/u7FQS/15/,但机制类似。

$(chart.series[0].data).each(function(i, e) {
        e.legendItem.on('click', function(event) {
            var legendItem=e.name;

            event.stopPropagation();

            $(chart.series).each(function(j,f){
                   $(this.data).each(function(k,z){
                       if(z.name==legendItem)
                       {
                           if(z.visible)
                           {
                               z.setVisible(false);
                           }
                           else
                           {
                               z.setVisible(true);
                           }
                       }
                   });
            });

        });
    });