Highcharts饼图:如何忽略禁用的图例项

时间:2015-05-11 15:33:29

标签: javascript highcharts pie-chart

请参阅此JSFiddle

在此示例中,您可以在左上角看到所有值的总和。

如果您点击任何图例项目,它将被禁用,但总值不会反映它。应更新文本以不包括该禁用的项目。我怎么能这样做?

2 个答案:

答案 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进行演示。