Javascript 为海图格式化数据
我试图用Highcharts制作图表,但不明白为什么我的数据格式不正确 当我使用以下数组作为数据时,我的图表完成了它的工作Javascript 为海图格式化数据,javascript,jquery,json,highcharts,Javascript,Jquery,Json,Highcharts,我试图用Highcharts制作图表,但不明白为什么我的数据格式不正确 当我使用以下数组作为数据时,我的图表完成了它的工作 fake = [['Joe', 0.1576]]; 但是,当我试图通过推动像这样的元素来创建一个图表时,它不会生成一个图表 name = 'Joe'; percentage = 0.1576; element = []; element.push(name, percentage); graph.push(element); 当我把它们放在控制台中比较时,它们看起来完全
fake = [['Joe', 0.1576]];
但是,当我试图通过推动像这样的元素来创建一个图表时,它不会生成一个图表
name = 'Joe';
percentage = 0.1576;
element = [];
element.push(name, percentage);
graph.push(element);
当我把它们放在控制台中比较时,它们看起来完全一样。但造成问题的原因在哪里呢
编辑:
多亏了您的帮助,我找到了应该出错的地方,可能是在未正确设置的$.getJSON和var“graph”中
graph = [];
$.getJSON("graph.php",function(data){
/* Loop through array */
for (var i = 0; i < data.length; i++) {
graph.push([data[i][1], Number(data[i][3])]);
}
});
$(function () {
$('#container').highcharts({
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Individuele productprijzen uiteengezet tegen de totaalprijs'
},
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:.2f} %'
}
}
},
series: [{
type: 'pie',
name: 'Browser share',
data: graph
}]
});
});
graph=[];
$.getJSON(“graph.php”,函数(数据){
/*循环阵列*/
对于(变量i=0;i
它获取的数据是用PHP中的JSON编码生成的JSON格式。假设您将图形初始化为
graph=[]
,那么它们是等效的。你的问题在别处。您也可以将其缩短为graph.push([name,percentage])
缩短,谢谢,但这并不能解决问题。代码的其余部分是什么?graph是在何处/如何启动的,或者它是如何提供给图表的?我添加了代码,我认为graph.push出现了问题,但无法确定具体原因,因为在console.log()中,它们都是相同的。如果您在getJSON响应中初始化图表,以避免未收到数据的情况,这会更好。