JS高图表.js不同格式的饼图数据

JS HighCharts.js Pie data in different format

本文关键字:数据 格式 高图表 js JS      更新时间:2023-09-26

我正在使用Highcharts,我从这段代码开始制作一个工作正常的饼图:

//THE DATA:
var data = [{ name: 'Name 1', y: 20, id: 0 },{ name: 'Name 2', y: 10, id: 1 },{ name: 'Name 3', y: 10, id: 2 }];

//THE CHART CODE:
chart = new Highcharts.Chart({
   series:[
      {
         "data": data,
          type: 'pie',
          animation: false,
          point:{
              events:{
                  click: function (event) {
                      //alert(this.id);
                  }

              }
          }          
      }
   ],
   "chart":{
      "renderTo":"container"
   },
});
//The above with create a pie chart with 3 names

我的问题从下面开始,因为我得到了需要以不同格式读取的数据

//The Data
var mydata =[{
    "001":{
        "name":"Name 1",
        "subhere":{
            "subhere1":2
        }
    },
    "002":{
        "name":"Name 2",
        "subhere":{
            "subhere1":20
        }
    },

}];

如何获取上面的数据以使用饼图?

我会重新格式化提供给您的数据,就像在Highchart中为您工作的data[]一样。

试试这个:

var data = [];
    for (var i = 0; i < mydata.length; i++) {       //looping through data received
        var obj = mydata[i];      //current obj in loop
        var newObj = {      //creating new obj with same structure as the 'data' that works
            name: obj.name,
            y: obj.subhere.subhere1,
            id: i       
        };
        data.push(newObj);      //pushing each object into the data array
    }

让我知道它是怎么回事!我希望它有所帮助,祝你好运!