Search code examples
angularjspie-chartamchartsdonut-chart

how to draw amchart pie chart using dynamic data(JSON)


i get data in JSON

{"Excellent":"5","NeedsImprovement":"14","Average":"9"}

How can i draw that JSON using AmCharts Pie chart / donut chart with angular-js.


Solution

  • var data = JSON.parse(JSON_TEXT);
    var dataProvider = [];
    
    for(var key in data) {
      dataProvider.push({
        value: data[key],
        title: key,
      });
    }
    
    
    var chart = AmCharts.makeChart("chartdiv", {
      "type": "pie",
      "theme": "none",
      "dataProvider": dataProvider,
      "titleField": "title",
      "valueField": "value",
      "labelRadius": 5,
      "radius": "42%",
      "innerRadius": "60%",
      "labelText": "[[title]]"
    });
    

    and for updating data you should do

    chart.dataProvider = newSetOfDataArray;
    chart.validateData();