我一直在玩高清插件,这真的很棒。直到我试图制作一个饼图。
由于某种原因,饼图要求给定系列的数据格式为
data:[
["NAME", VALUE],
["NAME", VALUE],
["NAME", VALUE]
]
其中name是字符串,value是整数或浮点数。所以我在jquery中创建了一个数组。但是当我运行脚本时,页面上没有显示任何内容。当我将数据硬编码到插件中时,它可以工作。但是,当我尝试使用我做的数组时,它没有。我已经在firebug中检查了控制台,我可以看到阵列在那里并且格式正确。我不知道为什么Highcharts插件没有看到它。
这是我的代码,也许我错过了什么?
var dataarray = [];
var referaltype = dataset.referals[month];
$.each(referaltype.code, function(key, value) {
var wantvalue = parseInt(referaltype.number[key]);
var wantkey = value;
dataarray[wantkey] = wantvalue;
delete dataarray[key];
});
console.log(dataarray);
makepiechart(dataarray, month, year);
这是我构建要在插件中使用的数组的地方。数据看起来非常符合我的预期。 “名称”:值
这是插件
function makepiechart(dataarray,month,year){
chart = new Highcharts.Chart({
chart: {
renderTo: 'piechartcontainer',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Type of referals '+month
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage}%</b>',
percentageDecimals: 1
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
}
}
}
},
series: [{
type: 'pie',
//name: ,
data: [dataarray]
}]
});
}
但是调用插件时没有任何反应。我也不确定为什么。有没有人知道我做错了什么?
答案 0 :(得分:1)
我发现了我做错了什么。系列选项需要字符串而不是数组:-P
var datastring = "";
var referaltype = dataset.referals[month];
$.each(referaltype.code, function(key, value) {
var wantvalue = parseInt(referaltype.number[key]);
var wantkey = value;
datastring += "['"+wantkey+"',"+wantvalue+"]";
});
console.log(dataarray);
makepiechart(dataarray, month, year);