如何刷新标题高图

时间:2015-05-04 16:47:59

标签: angularjs highcharts

当我按下图例的某个字段时,我想刷新饼图的值。

例如:我有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;
    }
}

1 个答案:

答案 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其工作原理。