2015-05-07 55 views
0

我嘗試建立一個餡餅圖形與Highcharts,但我有一個問題與選項dataLabels格式化讓datalabels格式化餡餅無片

我有一個JSON

[ 
{"name":"libelle","data":["TROUILLE","BEARN"]}, 
{"name":"Nombre","data":[12,24]} 
] 

我想有標籤:

BEARN : 66,66 % 

於是,我試着寫:

dataLabels: {enabled: true, 
formatter: function() {return '<b>'+ this.y +'</b>: '+ Highcharts.numberFormat(this.percentage, 2) +' %';}} 

我結果:

Slice : 66,66 % 

我沒有問題的百分比,但我有問題訪問系列libelle

我該怎麼做?

謝謝你的幫助。

地理-X

回答

0

您需要從JSON您的數據合併,或改變JSON。所以兩種可能的解決方案:

1)更改JSON格式:

[{ 
    "y":12, 
    "name":"TROUILLE" 
}, { 
    "y":24, 
    "name":"BEARN" 
}] 

2)合併數據JS:http://jsfiddle.net/zwb5toe9/1/

var data = [], 
    json = [{ 
    "name": "libelle", 
     "data": ["TROUILLE", "BEARN"] 
}, { 
    "name": "Nombre", 
     "data": [12, 24] 
}]; 

$.each(json[1].data, function(i, e) { //loop over "Nombre" 
    data.push({ 
     y: e, 
     name: json[0].data[i] 
    }); 
}); 

$('#container').highcharts({ 
    plotOptions: { 
     pie: { 
      dataLabels: { 
       enabled: true, 
       formatter: function() { 
        return '<b>' + this.key + '</b>: ' + Highcharts.numberFormat(this.percentage, 2) + ' %'; 
       } 
      } 
     } 
    }, 
    series: [{ 
     type: 'pie', 
     name: 'Browser share', 
     data: data 
    }] 
}); 
+0

謝謝你的幫助帕維爾。問題是,這是我第三次更改我的json格式,因爲我總是遇到這個問題,包括標籤或圖形。所以最後一次我在本教程中使用了這個json格式:[link](http://blueflame-software.com/blog/how-to-create-dynamic-x-axis-data-using-json/)。所以你確認這個json格式不可能取得我的** libelle **的價值? –

+0

好的,但你指的是xAxis教程(線性軸的種類)。與此同時,你正在使用餅圖,這是沒有xAxis;)另外,正如我上面所說,你不必改變格式,只需使用第二個解決方案。 –

+0

是的,我認爲這是一個好主意!我明白你的意思,但我希望所有圖形只有一種json格式:-)。非常感謝你,祝你有美好的一天! –