2017-10-23 9 views
0

ハイチャートのライブラリを使用して円グラフを作成しますが、負の値のためにスライス間に空のスペースが作成されます。ハイチャートは負の値のためのスペースを作成します

この空き領域を削除し、負の値を0.0にしたいとします。続き

あなたは、データがsapceを作成せずに0.0として「Firefoxの」のために表示されていないことを、このコードを見ることができます

[http://jsfiddle.net/mukeshkumartech/xnxL3adL/][1] 

..私のコードです。

答えて

0

あなたはちょうどこのように、チャートのコンストラクタに渡す前に、あなたのデータを準備することができます

data: [ 
    ['Firefox', -45.089], 
    ['IE', 26.8], 
      ['Chrome:', -10], 
    ['Safari', 8.5], 
    ['Opera', 6.298], 
    ['Others', 0.7] 
    ].map(function(pointArr) { 

    var newPoint = { 
     name: pointArr[0] 
     }, 
     value = pointArr[1]; 
    if (value < 0) { 
     newPoint.y = 0; 
     newPoint.negY = value; 
    } else { 
     newPoint.y = value 
    } 
    return newPoint; 
    }) 

私はyプロパティとして0を使用してにnegYプロパティで元の値を保存するよりも、値が負の場合dataLabels.formaterで、後でそれを使用します。

dataLabels: { 
     enabled: true, 
     formatter: function() { 
     console.log(this); 
     var point = this.point; 
     return this.key + " - value: " + (point.negY ? point.negY : point.y); 
     } 
    } 

ライブ作業例:http://jsfiddle.net/kkulig/6u7Lzfu9/

APIリファレンス:https://api.highcharts.com/highcharts/series.pie.dataLabels.formatter

関連する問題