私はhighchartプラグインで遊んでいて、それは本当に素晴らしかったです。それは私が円グラフを作ろうとするまでです。
何らかの理由で、円グラフでは、特定の系列のデータが次のようにフォーマットされている必要があります。
data:[
["NAME", VALUE],
["NAME", VALUE],
["NAME", VALUE]
]
ここで、nameは文字列で、valueは整数またはfloatです。だから私はそれだけで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]
}]
});
}
ただし、プラグインが呼び出されても何も起こりません。理由もよくわかりません。誰かが私が間違っていることを知っていますか?