我尝试使用 Highcharts 构建一个饼图,但我对选项 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 :(得分: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
}]
});