我正在为我的应用程序使用highcharts。当我使用下面的代码时,图表将被渲染。
obj.series=[{
type: 'pie',
name: 'Fruits',
data: [
['Apple', 80.0],
['Mango', 20.0]
]
}]
但我需要通过对服务器进行ajax调用来获取数据。因此,当我从服务器获取json响应并使用以下代码设置数据时,图表不会被渲染。
obj.series.data=[['Apple', 43],['Pear',57.0]]; //this data I get from the server.
能告诉我出错的地方吗?
我正在更新下面的完整代码:
var chartObj = {
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
backgroundColor:null
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
format: '<b>{point.name}</b>: {point.percentage:.1f} %'
}
}
},
navigation: {
buttonOptions: {
enabled: false
}
},
title:{
text: 'Storage Data'
},
series:[{
type: 'pie',
name: 'Storage Data',
/*data: [
['HP', 80.0],
['DELL', 20.0]
]*/
}]
}
var storageData = $.getJSON('http://hostname/resturl/data',
function(data) {
var result = new Array();
for (i=0;i<data.content.length;i++) {
var alpha = new Array();
alpha.push(data.content[i].x);
alpha.push(data.content[i].y);
result.push(alpha);
}
storageobj.series.data=result;
});
$('#pie-chart2').highcharts(storageobj);
其余的Json如下:
{
"links": [],
"content": [
{
"x": "DELL",
"y": 238
},
{
"x": "HP",
"y": 229
}
],
"id": null
}