1

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

4

3 回答 3

3

我认为不可能改变这种行为。相反,您需要将点全部删除,以使其他切片加起来为 100。这是一个示例,显示了图例切换和点删除之间的区别:jsfiddle

于 2012-05-09T12:46:04.840 回答
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;
};
于 2012-07-16T14:39:50.303 回答
1

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

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

自动重绘/重新计算图例上的饼图 | Highchart & Highstock @ jsFiddle

于 2013-01-06T18:28:26.287 回答