当我按下图例的某个字段时,我想刷新饼图的值。
例如:我有471个请求,当我按下图例中的“App Android”字段时,我将有426并且我想要获取此值并刷新标题。我的代码:http://jsfiddle.net/Cp73s/2133/
legend: {
align: 'right',
verticalAlign: 'top',
layout: 'vertical',
x: 0,
y: 100,
labelFormatter: function () {
$scope.data = this.total;
console.log($scope.data);
return this.y + ' ('+ this.percentage.toFixed(2) +'%) - ' +this.name;
}
}
答案 0 :(得分:1)
单击该项目时,您可以使用plotOptions.series.point.events.legendItemClick
更新标题。这不适用于饼图,但可以使用它。见这个例子:
plotOptions: {
series: {
point: {
events: {
legendItemClick: function(event) {
var newTotal = this.total + (event.target.visible ? -event.target.y : event.target.y);
this.series.chart.setTitle({ text: 'Chart title ' + newTotal});
}
}
}
}
}
它首先计算新的总数,因为事件在删除点之前被触发,因此必须手动考虑该事件。之后,它使用Chart.setTitle
函数更新标题。
请参阅this updated JSFiddle example其工作原理。