0

こんにちは、私のjsonオブジェクトは次のようになります

[
  {"name":"Tokyo","data":3.0},
  {"name":"NewYork","data":2.0},
  {"name":"Berlin","data":3.5},
  {"name":"London","data":1.5}
]

ハイチャートを使用して円グラフを作成するためにシリーズ ポイントを設定する方法

4

2 に答える 2

4

以下のコードを試してください。これにより、すべての値が解析され、 という配列が作成されdataArrayFinalます。

var d = [{"name":"Tokyo","data":3.0},{"name":"NewYork","data":2.0}, {"name":"Berlin","data":3.5},{"name":"London","data":1.5}]
var name = Array();
var data = Array();
var dataArrayFinal = Array();
for(i=0;i<d.length;i++) { 
   name[i] = d[i].name; 
   data[i] = d[i].data;  
}

for(j=0;j<name.length;j++) { 
   var temp = new Array(name[j],data[j]); 
   dataArrayFinal[j] = temp;     
}

そして、あなたのシリーズのものは以下のようになります。つまり、以下のように配列を渡す必要がありdataArrayFinalます。

series: [{
      type: 'pie',
      name: 'Browser share',
      data: dataArrayFinal
}]
于 2013-01-18T10:31:03.933 に答える
2

実際、データ定義と Highcharts が必要とする形式の唯一の違いは、Highcharts が "y" を期待する "data" というプロパティがあることです。したがって、データをループしてそのプロパティを設定するだけです。http://jsfiddle.net/highcharts/uTyZk/で実際にご覧ください。

// Original data
var data = [{
    "name": "Tokyo",
    "data": 3.0
}, {
    "name": "NewYork",
    "data": 2.0
}, {
    "name": "Berlin",
    "data": 3.5
}, {
    "name": "London",
    "data": 1.5
}];

// Highcharts requires the y option to be set
$.each(data, function (i, point) {
    point.y = point.data;
});


var chart = new Highcharts.Chart({

    chart: {
        renderTo: 'container',
        type: 'pie'
    },

    series: [{
        data: data
    }]

});
于 2013-01-18T12:08:03.847 に答える