2011-07-11 18 views
2

ハイチャートライブラリを使用して円グラフを作成するために、外部ファイルのサンプルjsonデータでajaxingを使用して過去数日間問題が発生しました。ここでAjax JSON in Highcharts円グラフ

ファイルの私のサンプルJSONデータである: (私は関係のないコードを省略している)

<script type="text/javascript"> 
    $(function() { 
     var options = { 
      chart: { 
       renderTo: 'Chart', 
       defaultSeriesType: 'pie' 
      }, 
      title: { 
       text:'Fruits' 
      }, 

      plotOptions: { 
       pie: { 
        allowPointSelect: true, 
        cursor: 'pointer', 
        dataLabels: { 
         enabled: true, 
         color: '#000000', 
         connectorColor: '#000000', 

        } 
       } 
      }, 
      series: [{ 
       type: 'pie', 
       name: 'Fruits', 
       data: [] 
      }] 
     }; 

     $.getJSON('data.json', function(json) { 

      options.series.push(json);    
      var chart = new Highcharts.Chart(options); 
     }).error(function() {console.log('error');}); 


    }); 
</script> 

基本的には:data.jsonここ

[ 
    ["Apples", 43.0], 
    ["Pears", 57.0] 
    ] 

はhighchartsの私の実装と私のAJAX呼び出しです、JSONをoptions.series []。data []に渡したいと思います。

options.series.push(json); 

を進めるときに私が取得:

[Object] // which contains .data , .name, .type 
+0

あなたは私と共有している場合、私も同じ問題を抱えているこの原因を解決しましたか? – ddw147

答えて

5

は私が実際にそうように私のJSONを構造化することにより、私の問題を解決することができました:

[Object, Array[2]] // where the Object contains .name and .type and the Array[2] is my data 

私はこれを必要とするかなり確信しています:

[ 
    { 
      "type" : "pie", 
      "name" : "Fruits", 
      "data" : [ 
       [ 
        "Apple", 
        43.0 
       ], 
       [ 
        "Pear", 
        "57.0" 
       ] 
      ] 
    } 
] 

代わりに配列を実行する私が行ったように、誰がこの横切る念の

$.getJSON("data.json", function(json)) { 
    options.series = json; 
    var chart = new Highcharts.chart(options); 
} 
0

:プッシュ、

は、私はこのようなJSONに直列パラメータを設定します。私はseries.data.pushで同じ問題を解決しました。これは、配列も配列なので、highchartsは実際に値をデータにプッシュしようとしていることを知らなかったでしょう。

関連する問題