2010-08-20 5 views
2

J'utilise,Itérer sur un objet json pour dessiner un graphique à colonnes?

google.load('visualization', '1', {'packages': ['columnchart']}); 
//google.setOnLoadCallback(drawChart); 
function drawChart(response) { 
    alert(response.customerlist); 
    var data = new google.visualization.DataTable(); 
    data.addColumn('string', 'dbZipcode'); 
    data.addColumn('string', 'countusers'); 
    data.addRows(response.customerlist.length); 
    for (var i = 0; i < response.customerlist.length; i++) { 
     data.setValue(i, 0, response.customerlist[i].dbZipcode); 
     data.setValue(i, 1, response.customerlist[i].countusers); 
    } 
    var container = document.getElementById('spnChart'); 
    container.innerHTML = ""; 
    var chart = new google.visualization.ColumnChart(container); 
    chart.draw(data, {width: 800, height: 300, is3D: true, title: 'Page Views', 
         legend:'none', titleX:'ZipCode', titleY:'Total Users'}); 
} 

Mais mon tableau ne contient pas le graphique dessiné. Toute suggestion. alt text

et mes données JSON,

{ 
    "customerlist": [ 
     { "dbZipcode": "21313213",  "countusers": "1" }, 
     { "dbZipcode": "2313213",  "countusers": "1" }, 
     { "dbZipcode": "23324324",  "countusers": "1" }, 
     { "dbZipcode": "2342432",  "countusers": "1" }, 
     { "dbZipcode": "32424422343", "countusers": "1" }, 
     { "dbZipcode": "324324324", "countusers": "1" }, 
     { "dbZipcode": "324324324324", "countusers": "1" }, 
     { "dbZipcode": "3244324",  "countusers": "1" }, 
     { "dbZipcode": "3422344",  "countusers": "1" }, 
     { "dbZipcode": "342424324", "countusers": "1" }, 
     { "dbZipcode": "3424324",  "countusers": "1" }, 
     { "dbZipcode": "435345",  "countusers": "1" }, 
     { "dbZipcode": "627028",  "countusers": "1" }, 
     { "dbZipcode": "641030",  "countusers": "2" }, 
     { "dbZipcode": "642582",  "countusers": "1" } 
    ] 
} 

Répondre

0

changer juste,

data.addColumn('number', 'countusers'); 
    data.addRows(response.customerlist.length); 
    for (var i = 0; i < response.customerlist.length; i++) { 
     data.setValue(i, 0, response.customerlist[i].dbZipcode); 
     data.setValue(i, 1, response.customerlist[i].countusers-0); 
    } 
Questions connexes