2014-10-04 4 views
0

Я пытаюсь получить Highcharts, и у меня есть ситуация, когда у меня есть отрицательные значения и положительные значения в пределах одного ведра по оси x. Суммарное значение для уложенных значений неточно представлено на оси y и в методе stackLabel оси y.Highcharts - Stacked Bar Column - Общее значение Stacked Bar не корректно с отрицательными и положительными значениями

Например, в этом 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] 
     }] 

ответ

0

В значениях Highcharts stackLabel сумма от отрицательных и положительных значений отдельно. Взгляните на свой экзамен, и вы заметите, что у вас есть stacklabel -30 и 60, рассчитанные отдельно.

+0

Я думаю, что это проблема, которую я испытываю. Я хочу, чтобы значения в ведре добавлялись вместе отдельно, если они отрицательные или положительные. – shawnzizzo

+0

@shawnzizzo: Вы нашли решение? – marlar

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.

Смежные вопросы