答案 0 :(得分:1)
虽然Ondkloss的回答很好。但我找到了一个更简单的解决方案,使用重绘事件而不是加载。 JSFiddle
答案 1 :(得分:0)
您可以使用legendItemClick
事件通过保留对Element
的引用来更新呈现的文本。例如:
var totalText;
var chart = new Highcharts.Chart({
chart: {
events: {
load: function(event) {
totalText = this.renderer.text(
'Total: ' + total,
this.plotLeft,
this.plotTop - 20
).attr({
zIndex: 5
}).add()
}
}
}
//...
plotOptions: {
pie: {
point: {
events: {
legendItemClick: function(e) {
var newTotal = this.series.total + (this.visible ? -this.y : this.y);
totalText.attr({ text: 'Total: '+newTotal });
}
}
}
}
}
});
请参阅this updated JSFiddle进行演示。