Highcharts でグラフを作成しようとしていますが、データが正しい形式ではない理由がわかりません。
次の配列をデータとして使用すると、チャートは彼の仕事をします。
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
}]
});
});
取得するデータは PHP の json_encode で作成した JSON 形式です。