在Highcharts折线图上隔离单个系列

时间:2013-05-06 14:30:44

标签: javascript charts highcharts

有没有办法可以在Highcharts.js中更改Legend单击处理程序的默认行为,这样当我点击图例标签时,它会隔离系列,而不是隐藏它。即它应该隐藏图表上的所有其他系列。

http://jsfiddle.net/adamtsiopani/rNkBs/

legend: {
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'top',
        useHTML: true,
        labelFormatter: function () {
            console.log(this);
            return this.name + ' <a class="isolate-series">[isolate]</a>';
        }
    },

1 个答案:

答案 0 :(得分:1)

这是你想要的吗? Fiddle Link

基于API,您必须使用legendItemClick添加点击处理程序以应用于该系列。

     plotOptions: {
            series:{
                   events: {
                        legendItemClick: function(event) {
                            if (!this.visible)
                                return true;

                            var seriesIndex = this.index;
                            var series = this.chart.series;

                            for (var i = 0; i < series.length; i++)
                            {
                                if (series[i].index != seriesIndex)
                                {

                                    series[i].visible ? series[i].hide() : series[i].show();
                                } 
                            }

                            return false;
                        }
                   }
             }
        }