2013-02-04 6 views
5

Ich habe Aufgabe, dynamische Daten in Google PieChart einzufügen.Einfügen von dynamischen Daten in Google Pie Chart

Playground

In diesem Link einfügen ich diesen Code:

function drawVisualization() { 
// Create and populate the data table. 
var data = google.visualization.DataTable(); 

var mycars=["Saab","Volvo","BMW"]; 
var mypoints=[4,12,45]; 

data.addColumn('string', 'Cars'); 
data.addColumn('number', 'Numbers'); 
data.addRows(mycars.length); 
for (var i = 0; i < mycars.length; i++){ 
    data.setCell(i,0,mycars[i]); 
    data.setCell(i,1,mypoints[i]); 
} 
// Create and draw the visualization. 
new google.visualization.PieChart(document.getElementById('visualization')). 
draw(data, {title:"So, how was your day?"}); 
} 

Im folgenden Beispiel erhalte ich dynamische Arrays mycars und mypoints, dann Diagramm Ich versuche, diese Arrays einsetzen zu innerhalb for loop.

PieChart wird nicht angezeigt. Was stimmt damit nicht?

Antwort

3

Sie haben einen Javascript Fehler. Sie müssen das Schlüsselwort new beim Instanziieren der DataTable verwenden.

ersetzen

var data = google.visualization.DataTable(); 

mit

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

Jeff, vielen Dank für die Hilfe! –

0

ich das Problem mit dem Code in jquery wie folgt gelöst:

$("#piechart_3d").show(); 
google.load("visualization", "1", { 
    packages: ["corechart"], callback: function() { 
     var data = google.visualization.arrayToDataTable([ 
         ['Going', 'a Day'], 
         ['Car', 11], 
         ['Bus', 2], 
         ['Moto', 2] 
        ]); 
     var options = { 
         title: 'Report', 
         backgroundColor: 'transparent', 
         is3D: true, 
        }; 

     var chart = new google.visualization.PieChart(document.getElementById('piechart_3d')); 
     chart.draw(data, options); 
    } 
});