高(饼图)图表计算错误

时间:2018-08-15 01:21:25

标签: javascript highcharts

有人可以帮我理解为什么我的饼图百分比计算不正确吗?查看屏幕截图:

enter image description here

根据我的计算,RHS上的支出百分比应为24.73%。传递给Highcharts的值如下: -花费:204827099.36 -预算:828095192.11

我的计算如下(Spend/Budget) * 100(204827099.36/828095192.11)*100=24.73%

这是我在海图中指定这些值的方式:

plotOptions: {
    pie: {
        allowPointSelect: true,
        cursor: 'pointer',
        dataLabels: {
            enabled: true,
            format: '<b>{point.name}</b>: {point.percentage:.2f} %',
            style: {
                color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
            }
        },
        showInLegend: true
    }
},
series: [{
    name: 'Brands',
    colorByPoint: true,
    data: [{
        name: 'Budget',
        color: '#1e80c1',
        y: parseFloat(828095192.11)
    }, {
        name: 'Spend',
        color: '#fdc942',
        y: parseFloat(204827099.36)
    }]
}]

我在做错什么吗?在此先感谢。

1 个答案:

答案 0 :(得分:2)

您直接将彼此除以,但是应将其除以总数:

204827099.36/(828095192.11+204827099.36) =~ 0.1983

该库是正确的。我想您想让蓝色部分显示204827099.36之后的剩余,在这种情况下,您应该像这样传递它:

series: [{
    name: 'Brands',
    colorByPoint: true,
    data: [{
        name: 'Budget',
        color: '#1e80c1',
        y: parseFloat(623268092.75)
    }, {
        name: 'Spend',
        color: '#fdc942',
        y: parseFloat(204827099.36)
    }]
}]

然后它将为您提供所需的百分比,但这就是您想要的吗?