Highcharts,获得与总数值相关的百分比

时间:2015-11-09 11:30:35

标签: highcharts

对于我可怕的英语提前抱歉,但很难解释我的问题。 我使用的是Highcharts,我会创建一个像这样的图形。

Target graph

所以问题是:是否可以设置一个具有总值的变量(例如图像:2.600),插入系列值并获得总值相关的百分比? 或者在替代方案中直接设置百分比?

示例1(最喜欢的解决方案):

var total = 2.600

series: [{
            name: 'Serie1',
            data: [1560, 590, 1112, 2030]
        }, {
            name: 'Serie2',
            data: [260, 590, 1112, 435]
        }, {
            name: 'Serie3',
            data: [780, 1770, 556, 435]
        }]

因此它会自动计算百分比。

示例2:

series: [{
            name: 'Serie1',
            data: [60%, 20%, 40%, 70%]
        }, {
            name: 'Serie2',
            data: [10%, 20%, 40%, 15%]
        }, {
            name: 'Serie3',
            data: [30%, 60%, 20%, 15%]
        }]

1 个答案:

答案 0 :(得分:1)

对于y值,仅接受数字。可以使用stackLabels作为总值,并使用dataLabels的{​​{3}}来返回总计的百分比 - 因为堆叠系列的this.total可用,这不应该是一个问题。

    yAxis: {
        reversedStacks: false,
        stackLabels: {
            enabled: true,
            align: 'left',
            y: -20,
            x: 100
        }
    },
    plotOptions: {
        bar: {
            stacking: 'normal',
            dataLabels: {
                enabled: true,
                formatter: function () {
                    return Math.round(this.y / this.total * 100) + '%';
                }
            }
        }
    },

示例:formatter