2015-11-19 2 views
0

Iam новичок в метеоритах и ​​диаграммах Google, вы хотите отобразить диаграмму google с данными meteor mongodb aggregate Json. Для начала у меня есть статические данные json, но по какой-то причине google visulization datatable возвращается пустым. следующим является код Client.js.отображение метеоритов агрегирование данных Json в google-диаграммах

Template.GooglechartsPie.onRendered(function() { 
    console.log("iam from render function") 
     // Load the Visualization API and the piechart package. 
    google.load('visualization', '1.0', {'packages':['corechart'], callback: drawChart}); 

    function drawChart() { 
    var jsonData = '[{"_id":"Household","totalAmount":520},{"_id":"Insurance","totalAmount":235},{"_id":"Family","totalAmount":1358},{"_id":"Utilities","totalAmount":5371.5},{"_id":"Automobile","totalAmount":500},{"_id":"Home Office","totalAmount":290},{"_id":"Travel","totalAmount":14},{"_id":"Food","totalAmount":303}]' 

    // Create our data table out of JSON data loaded from server. 
    var data = new google.visualization.DataTable(jsonData); 
    console.log("my data" + JSON.stringify(data)) 
    //returning my data"{\"cols\":[],\"rows\":[]}" -- not sure why no data here 

    // Instantiate and draw our chart, passing in some options. 
    var chart = new google.visualization.PieChart(document.getElementById('Googlechart')); 
    chart.draw(data, {width: 400, height: 240}); 
    } 

}

ответ

0

Ваш JSON должен быть отформатирован как этот

{ 
"cols": [ 
    {"id":"","label":"Topping","pattern":"","type":"string"}, 
    {"id":"","label":"Slices","pattern":"","type":"number"} 
    ], 
"rows": [ 
    {"c":[{"v":"Mushrooms","f":null},{"v":3,"f":null}]}, 
    {"c":[{"v":"Onions","f":null},{"v":1,"f":null}]}, 
    {"c":[{"v":"Olives","f":null},{"v":1,"f":null}]}, 
    {"c":[{"v":"Zucchini","f":null},{"v":1,"f":null}]}, 
    {"c":[{"v":"Pepperoni","f":null},{"v":2,"f":null}]} 
    ] 
} 

Так что, когда вы пытаетесь преобразовать JSON в DataTable, вы не получаете никакой возвращается, как это ISN» t правильно отформатирован. More to read here.

Попробуйте форматирования JSON как

var jsonData = {} 
jsonData.cols = [ 
     {"label":"ID", "type":"string"}, 
     {"label":"Value", "type":"number"} 
    ] 
jsonData.rows = [ 
    {"c":[{"v":"Household"}, {"v":520}]}, 
    {"c":[{"v":"Insurance"}, {"v":200}]} 
] 
+0

Благодаря смогли справиться с этим после форматирования. – dojox

Смежные вопросы