0

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>';
        }
    },
4

1 に答える 1

1

これは、あなたの望むことですか?フィドルリンク

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;
                        }
                   }
             }
        }
于 2013-05-06T15:11:47.990 に答える