2016-07-15 63 views
0

JS HighCharts.js馅饼数据我使用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 
     } 

    }, 


}]; 

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

+0

我认为你需要为Highcharts接受的格式稍微格式化一下。在这里你可以找到一个例子它如何工作:http://jsfiddle.net/84qd2xp6/ –

+0

试过这个:var data = []; (var i = 0; i gafasmill

+0

你试过我的例子吗? –

回答

1

我会重新格式化给您的数据,就像您在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 
    } 

让我知道如何去!我希望它有帮助,祝你好运!

+0

获取错误:TypeError:obj [i]未定义 \t name:obj [i] .name, – gafasmill

+0

@gafasmill哦!尝试用'obj.name' – SrAxi

+0

@gafasmill我刚刚编辑了我的答案。现在检查一下,看看它是否有效。 – SrAxi