对于客户,我的公司正在努力将一些来自AJAX-JSON调用的数据导入Highcharts。
数据是客户在他/她的帐户中有多少设备活动。
我们使用的功能是:
获取JSON
function getChartJSON(url){
return $.ajax({
type: "GET",
url: url,
async: false
}).responseText;
}
创建图表
function createPieChart(data, title){
var json = jQuery.parseJSON(data);
var options = {
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
renderTo: 'pie-container',
type: 'pie'
},
title:{
text: title
},
plotOptions:{
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
},
},
series:[{data:json}]
};
$.each(data, function (i, point) {
point.y = parseInt(point.data, 10);
});
new Highcharts.Chart(options);
}
一切似乎都很顺利,并且对象已经完成,索引(索引?)显示切片类型(1,2,3,4,4个设备处于活动状态),而不是切片本身。
以字符串形式返回的JSON是:
[
{"name":"Single device registered","data":13},
{"name":"Double device registered","data":0},
{"name":"Triple device registered","data":2},
{"name":"Quadruple device registered","data":0},
{"name":"Quadruple-plus device registered","data":3}
]
我错过了哪些不允许绘制切片?我希望有足够的信息可以帮助我们解决这个问题,或者至少可以复制手头的问题。
答案 0 :(得分:0)
有点讽刺的是,一旦我在这里发布一个问题,我就找到了答案。错误发生在:
$.each(data, function (i, point) {
point.y = parseInt(point.data, 10);
});
第一个参数是'data',但它应该是'json'。它现在有效。