Highchart不能正确表示饼图0数据

问题描述 投票:0回答:3

我有一个highchart(饼图)具有多个字段(只有两个在这里添加)。这是给我的问题了0值。

的条件如下面描述:

如果我的第一个字段是100%饼图呈现为其它场的线的0%

请参阅本小提琴:http://jsfiddle.net/rndmmuz6/4/

data: [{
        name: 'Check1',
        y: 100
    },
    {
        name: 'Check2',
        y: 0
    }]

但如果我的第二个字段是100%,那么在饼图不呈现为0%字段用于第一字段

请参阅本小提琴:http://jsfiddle.net/rndmmuz6/3/

 data: [{
        name: 'Check1',
        y: 0
    },
    {
        name: 'Check2',
        y: 100
    }]

我要线条总是出现。

jquery charts highcharts pie-chart
3个回答
1
投票

此bug已报告here,您可以使用borderWith : 0这样的:

plotOptions: {
    pie: {
        allowPointSelect: true,
        cursor: 'pointer',
        dataLabels: {
            enabled: true,
            format: '<b>{point.name}</b>: {point.percentage:.1f} %',
            style: {
                color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
            }
        },
        borderWidth:0
    }
},

Fiddle


0
投票

破坏点的图形元素可以在这里是一种解决方法:

    events: {
      load: function() {
        this.series[0].points.forEach(function(p) {
          if(!p.y) {
            p.graphic.destroy();
          }
        });
      }
    }

现场演示:http://jsfiddle.net/kkulig/ojd4wn3f/


0
投票

我发现下面的代码覆盖highchart渲染线的shapeArgs

请参阅本小提琴:http://jsfiddle.net/rndmmuz6/7/

Highcharts.wrap(Highcharts.seriesTypes.pie.prototype, 'drawPoints', function (proceed) {
    Highcharts.each(this.points, function (p) {
        if (p.shapeArgs) {
            p.shapeArgs.open = false;
        }
    });
    proceed.call(this);
});
© www.soinside.com 2019 - 2024. All rights reserved.