有没有办法可以在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>';
}
},
答案 0 :(得分: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;
}
}
}
}