Highcharts - Stacked Bar Column - 堆积条的总值不正确,具有负值和正值

时间:2014-10-04 00:25:10

标签: highcharts

我正在尝试使用Highcharts,我的情况是x轴上的一个桶中有负值和正值。堆积值的总和未在y轴和y轴stackLabel上精确表示。

例如,在这个JSFiddle中,橘子有-30,20和40.总数显示为60;不是30。

以下是显示数据的Highcharts对象的片段:

        series: [{
            name: 'John',
            data: [50, -30, 40, 70, 20]
        }, {
            name: 'Jane',
            data: [20, 20, 30, -20, 10]
        }, {
            name: 'Joe',
            data: [30, 40, 40, -20, 50]
        }]

2 个答案:

答案 0 :(得分:0)

在highcharts stackLabel中,分别从负值和正值中求和。看看你的例子,你会发现你有堆栈标签-30和60,分别计算。

答案 1 :(得分:0)

您可以使用yAxis.stackLabels.formatter属性解决此问题,如下所示:

yAxis: {
           stackLabels: {
               enabled: true,
               align: 'center',
                         formatter: function() {
                   var sum = 0;
                   var series = this.axis.series;

                   for (var i in series) {
                       if (series[i].visible && series[i].options.stacking == 'normal') 
                           sum += series[i].yData[this.x];
                   }
                   if(this.total > 0 ) {
                       return Highcharts.numberFormat(sum,1); 
                   } else {
                       return '';    
                   }
               }
           }
       }

来自this answer