1

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 形式です。

4

0 に答える 0