Javascript Can';t为图例点指定名称
Javascript Can';t为图例点指定名称,javascript,highcharts,Javascript,Highcharts,pData是我通过ajax调用从服务器得到的响应 success: function(pData) { var data = pData.row; var items = data; name = items.map(function(el) { return el.NAME; }); broj = items.map(function(el) { return el.Y; }); var chart =
pData
是我通过ajax
调用从服务器得到的响应
success: function(pData) {
var data = pData.row;
var items = data;
name = items.map(function(el) {
return el.NAME;
});
broj = items.map(function(el) {
return el.Y;
});
var chart = new Highcharts.Chart({
chart: {
type: 'pie',
renderTo: 'chart4',
},
tooltip: {
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ this.y +' %';
}
},
plotOptions: {
pie: {
showInLegend: true
}
},
series: [{
data: broj
}],
credits: false,
title: false
});
}
成功:功能(pData){
var data=pData.row;
var项目=数据;
name=items.map(函数(el){
返回el.NAME;
});
broj=items.map(函数(el){
返回el.Y;
});
var图表=新的Highcharts.图表({
图表:{
键入“pie”,
renderTo:‘图表4’,
},
工具提示:{
格式化程序:函数(){
返回“+this.point.name+”:“+this.y+”%”;
}
},
打印选项:{
馅饼:{
showInLegend:对
}
},
系列:[{
资料来源:broj
}],
学分:假,
标题:假
});
}
演示:
我得到的数据是好的,唯一缺少的是每个pice切片都被命名为“切片”,我不知道如何用我从服务器得到的数据调用饼图的每个部分(它包含在
名称数组中)。似乎传递给Highchart(项目)的数据是一个数字数组。您需要为其添加标题,如:
series: [{
data: [
['title1', 10],
['title2', 9],
['title3', 8],
['title4', 7],
]
}]
这将为您的切片添加标题。对于您的代码,您可以在映射到broj
时做一些更改:
broj = items.map(function(el) {
return [el.NAME, el.Y];
});
然后剩下的代码就可以工作了()你能创建一个JSFIDLE吗?我添加了一个演示,也许可以帮助你弄清楚我是如何传递数据的。@Paran0a我在你的FIDLE上做了上面提到的小改动,它可以工作了now@Paran0a我加了一把小提琴。非常感谢。