【问题标题】:Highcharts - Stacked Bar Column - Total Value of Stacked Bar not Correct with Negative and Positive ValuesHighcharts - Stacked Bar Column - Stacked Bar 的总值与负值和正值不正确
【发布时间】:2014-10-04 00:25:09
【问题描述】:

我正在尝试使用 Highcharts,但我遇到了一种情况,即 x 轴上的一个存储桶中有负值和正值。在 y 轴和 y 轴 stackLabel 上未准确表示堆叠值的总和。

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

这是显示数据的 Highcharts 对象的 sn-p:

        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]
        }]

【问题讨论】:

    标签: highcharts


    【解决方案1】:

    在 highcharts stackLabel 中,分别对负值和正值求和。看看你的例子,你会注意到你有 stacklabel -30 和 60,分别计算。

    【讨论】:

    • 我认为这就是我遇到的问题。如果它们是负数或正数,我希望桶中的值不单独相加。
    • @shawnzizzo:你找到解决办法了吗?
    【解决方案2】:

    您可以通过使用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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多