Highcharts使用JSON对象来填充数据饼图(Highcharts to populate d

2019-07-18 09:57发布

您好我的JSON对象看起来像这样

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

如何填充一系列点要使用highcharts饼图

Answer 1:

试试这个下面的代码。 这将解析所有的值,并创建一个名为数组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
}]


Answer 2:

其实你的数据定义和Highcharts要求,就是你有一个名为“数据”,其中Highcharts预计“Y”属性格式之间的唯一区别。 所以,你只需要循环的数据,并设置该属性。 看到它住在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
    }]

});


文章来源: Highcharts to populate data for pie chart using json object
标签: highcharts