2013-06-03 15 views

risposta

12

È possibile utilizzare la funzione arrayToDataTable

var jsonString = ".........."; // json string of array 
var array = JSON.parse(jsonString); 

var dataTableData = google.visualization.arrayToDataTable(array); 

// use dataTableData to build dataTable 
2

Secondo this page si dice si può semplicemente mettere la risposta JSON direttamente nel google.visualization.DataTable

var data = new google.visualization.DataTable(jsonData); 
+2

Si noti che il JSON deve essere correttamente [formattato] (https://developers.google.com/chart/interactive/docs/reference#dataparam) con gli array 'cols' e' rows' – SymbolixAU

0

Si può fare:

google.charts.load('current', { 'packages': ['line'] }); 
google.charts.setOnLoadCallback(drawChart); 

function drawChart() { 
    var json = $.ajax({ 
     url: "GetFaturamentoMes", 
     dataType: "json", 
     success: function (jsonData) { 
      var data = new google.visualization.DataTable(); 
      data.addColumn('number', 'Mês'); 
      data.addColumn('number', 'Faturamento Por Mês'); 

      for (var i = 0; i < jsonData.length; i++) { 
       mes = jsonData[i].Mes; 
       total = jsonData[i].Total; 
       data.addRow([mes, total]); 
      } 
      var options = { 
       chart: { 
        title: 'Gráfico de Faturamento Mensal', 
        subtitle: 'Moeda (R$)' 
       }, 
       width: 600, 
       height: 300, 
       axes: { 
        x: { 
         10: { side: 'top' } 
        } 
       } 
      }; 
      var chart = new google.charts.Line(document.getElementById('line_top_x')); 
      chart.draw(data, google.charts.Line.convertOptions(options)); 
     } 
    }); 
} 
Problemi correlati