2016-07-15 69 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