2013-07-03 81 views
0

我正在使用HighCharts創建餅圖,但我正在使用的一組數據具有負數。負數的部分非常小,以至於餅圖本身無關緊要,但我在圖例中遇到了顯示問題。我發現了一箇舊的演示所用highcharts.js的舊版本顯示的負數http://jsfiddle.net/AdW2Z/8/Highcharts餅圖 - 在圖例中顯示爲「null」的負值

pie: { 
     allowPointSelect: true, 
     cursor: 'pointer', 
     dataLabels: { 
      enabled: false, 
      formatter: function() { 
       return this.point.positive ? this.y : this.y * (-1); 
      }, 
      color: 'black', 
      style: { 
       font: '13px Trebuchet MS, Verdana, sans-serif' 
      } 
     }, 

我使用相同的代碼試過,但highcharts.js的當前版本,但是這就是我得到一個圖例中的「null」: http://jsfiddle.net/bRZaw/1/

任何想法如何解決這個問題?過去3天我一直在與之搏鬥。感謝提前!

回答

1

餅圖應該表示總數的一部分,因此預計負數不會起作用,因爲您不能有總數的負數部分。如果您需要表示負值,那麼您可能應該使用另一種類型的圖表。

如果你真的想顯示那個值(假設你說它並不是真的有意義),可以嘗試用絕對值包裝它,Math.abs(yourValue)應該可以做到。

1

您可以通過如下更新labelFormatter顯示爲0傳說負數:

labelFormatter: function() { 
    if (this.y === null) { 
     return this.name + ': 0%'; 
    } else { 
     return this.name + ': ' + this.y + '%'; 
    } 
} 

http://jsfiddle.net/bRZaw/3/