2016-07-15 24 views
0

Ich verwende Highcharts und ich begann mit diesem Code für ein Kreisdiagramm, das gut funktioniert:JS HighCharts.js Pie Daten in verschiedenen Formaten

//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 

Das Problem Ich habe beginnt unten, weil ich die Daten gegeben wurde, das muss in einem anderen Format lesen

//The Data 

var mydata =[{ 

    "001":{ 

     "name":"Name 1", 
     "subhere":{ 
      "subhere1":2 
     } 

    }, 
    "002":{ 

     "name":"Name 2", 
     "subhere":{ 
      "subhere1":20 
     } 

    }, 


}]; 

Wie kann ich die Daten bekomme ich oben habe mit dem Kreisdiagramm zu arbeiten?

+0

Ich denke, dass Sie es ein wenig für Format formatieren müssen, das von Highcharts akzeptiert wird. Hier finden Sie ein Beispiel, wie es funktionieren kann: http://jsfiddle.net/84qd2xp6/ –

+0

Versucht dies: var data = []; für (var i = 0; i gafasmill

+0

Haben Sie mein Beispiel versucht? –

Antwort

1

Ich würde die Daten, die Sie auf die gleiche Weise wie die data[], die für Sie im Highchart arbeitete, formatiert.

Versuchen Sie folgendes:

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 
    } 

wissen Lassen Sie mich, wie es geht! Ich hoffe es hat geholfen, viel Glück!

+0

Fehler bekommen: TypeError: obj [i] ist undefiniert \t name: obj [i] .name, – gafasmill

+0

@gafasmill Oh! Versuchen Sie es mit 'obj.name' – SrAxi

+0

@gafasmill Ich habe gerade meine Antwort bearbeitet. Überprüfen Sie es jetzt und sehen Sie, ob es funktioniert. – SrAxi

Verwandte Themen