在highchart中重绘饼图

时间:2012-05-09 10:11:36

标签: charts highcharts pie-chart

假设我有4片含20%,30%,30%和20%的片。如果我使第4个切片(20%)处于非活动状态,则其他切片应自行调整并占据100%。如何在highcharts中做到这一点?谢谢。

3 个答案:

答案 0 :(得分:3)

我认为不可能改变这种行为。相反,您需要将所有点一起移除,以便其他切片加起来为100.这是一个显示图例切换和点移除之间差异的示例:jsfiddle

答案 1 :(得分:2)

我认为这应该是标准行为:)

opts.plotOptions.pie.point.events.legendItemClick = function() {
    if (this.visible) {
        this['y_old'] = this.y;
        this.update(0);
    }
    else {
        this.update(this.y_old);
    }
};

现在,当您单击图例项时,饼图切片将消失

如果要显示百分比(100%没有现在缺少切片),您必须将工具提示(或图例)定义为:

opts.tooltip.formatter = function() {
    var s = '<b>' + this.point.name + '</b>: ' + this.percentage.toFixed(2) + '%';

    return s;
};

答案 2 :(得分:1)

此功能现已开箱即用plotOptions.pie.ignoreHiddenPoint

 series: [{
    ignoreHiddenPoint: true,
    type: 'pie',
    ...
  }]

Auto Redraw/Recalculate Pie on Legend | Highchart & Highstock @ jsFiddle