Highcharts树图链接图例



我想将一对区域链接到highcharts树图中的图例,这样点击图例可以打开/关闭这两个区域。

例如,在这个小提琴中,如果我点击传说中的"美国",我希望它关闭覆盖"美国"one_answers"美国"的区域;与"澳大利亚"类似。

在这里打闹。

$(function() {
var H = Highcharts;
H.addEvent(H.Legend, 'afterGetAllItems', function(e) {
e.allItems.splice(1, 2);
});
$('#container').highcharts({
chart: {
type: 'treemap'
},
plotOptions: {
series: {
events: {
legendItemClick: function (event) {
alert('Done');
}
}
}
},
series: [{
data: [{
'name': 'Americas',
'value': 52976,
'color': 'rgba(47,126,216,1)'
}, {
'name': 'Australia',
'value': 41219,
'color': 'rgba(13,35,58,1)'
}, {
'name': 'Americas',
'value': 52976,
'color': 'rgba(47,126,216,1)'
}, {
'name': 'Australia',
'value': 41219,
'color': 'rgba(13,35,58,1)'
}],
legendType: 'point',
showInLegend: true
}]

});

});

您可以使用点legendItemClick事件和内部setVisible方法:

plotOptions: {
series: {
point: {
events: {
legendItemClick: function(event) {
var points = this.series.points;
points.forEach(function(p) {
if (this !== p && this.name === p.name) {
p.setVisible(!this.visible, true);
}
}, this);
}
}
}
}
}

现场演示:https://jsfiddle.net/BlackLabel/k4o8q6du/

最新更新