Google Chart Tools
Googles Chart Tools ist eine JavaScript API, mit deren Hilfe man Daten auf Webseiten Visualisieren kann. Googles Chart Tools darf man auf keinen Fall verwechseln mit den Google Image Charts. Letztere werden von Google als Deprecated eingestuft.
Grundlagen
Als Erstes muss die JS Api von Google eingebunden werden. Das geschieht mit:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
Dann folgt das eigentliche Script. hier wird zunächst die Visualisierungsbibliothek geladen:
google.load("visualization", "1", {packages:["corechart"]});
Dann wird die auszuführende Funktion festgelegt:
google.setOnLoadCallback(drawChart1);
Diese Funktion drawChart1
beinhaltet
- die eigentlichen Daten einschließlich einer Überschrift
- die Festlegung der Visualisierungsform (
PieChart
) - die Festlegung, wo die Grafik angezeigt werden soll (
chart_div1
) - am Ende den Befehl zum Zeichnen
Der gesamte JavaScript-Code sieht dann so aus:
<script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart1); function drawChart1() { //Die Daten var data = google.visualization.arrayToDataTable([ ['Task', 'Stunden am Tag'], ['Arbeiten', 11], ['Essen', 2], ['Verkehrsmittel', 2], ['Fernsehen', 2], ['Schlafen', 7] ]); // Die Überschrift var options = { title: 'Was ich am Tag so tue' }; var chart = new google.visualization.PieChart(document.getElementById('chart_div1')); chart.draw(data, options); } </script>
Schließlich benötigt man noch einen Platzhalter für die Anzeige der Grafik:
<div id="chart_div1" style="width: 700px; height: 350px;"></div>
Das fertige Beispiel:
Wenn man an Stelle von PieChart BarChart
aufruft wird die Grafik so angezeigt:
Charttypen
In diesen kleinen Beispiele wurden Grafiken vom Typ Pie Chart (Torten Grafik) und vom Typ Bar Chart (Balkengrafik) verwendet. In Googles Chart Gallery werden insgesamt 12 unterschiedliche Charttypen demonstriert:
- Pie Chart - Tortengrafik - Visualisierung mit
PieChart
- Scatter Chart - Streudiagramm - Visualisierung mit
ScatterChart
- Gauge - Anzeige, ähnliche einem Tachometer
- Geo Chart - Darstellung von Daten auf einer Landkarte
- Table - Tabellendarstellung, also keine Visualisierung im eigentlichen Sinn
- Treemap - "Baumkarte" zur Visualisierung grafischer Strukturen
- Combo Chart - Kombination aus Säulen und Linien
- Line Chart - Liniengrafik
- Bar Chart - Balkengrafik
- Column Chart - Säulengrafik
- Area Chart - Flächengrafik - Visualisierung mit
AreaChart
- Candlestick Chart - Kerzengrafik (bekannt aus der Darstellung von Aktienkursen mit Höchst - und Tiefstwerten)
- Bubble Chart -Blasendiagramm
- Stepped Area Chart - Gestufte Flächengrafik
Diese Charts basieren auf der fortgeschrittenen SVG/HTML5-Technologie. In den alten Microsoft-Browsern wird zur Darstellung VML genutzt. Außerdem gibt es weitere Charte-Varianten die nicht von Google stammen und nur bedingt unterstützt werden, teilweise auch solche, die von Google als veraltet eingestuft wurden und nur noch für einen begrenzten Zeitraum unterstützt werden
Alternative Form der Dateneingabe
Im Einführungsbeispiel wurden alle Daten direkt an ein Array übergeben. Diese Methode sah so aus:
//Die Daten var data = google.visualization.arrayToDataTable([ ['Task', 'Stunden am Tag'], ['Arbeiten', 11], ['Essen', 2], ['Verkehrsmittel', 2], ['Fernsehen', 2], ['Schlafen', 7] ]);
Alternativ zu dieser Form ist es auch möglich, schrittweise vorzugehen:
//Die Daten //Leere Variable definieren var data = new google.visualization.DataTable(); //Spalten definieren data.addColumn('string', 'Task'); data.addColumn('number', 'Stunden am Tag'); //Datenzeilen hinzufügen data.addRows([ ['Arbeiten', 11], ['Essen', 2], ['Verkehrsmittel', 2], ['Fernsehen', 2], ['Schlafen', 7] ]);
Außerdem hab ich im options
-Abschnitt noch is3D:true
hinzugefügt, so dass die angezeigte Grafik auch noch einen 3D-Effekt hat:
Weitere Möglichkeiten
Google Charts sind bei weitem nicht die einzige Möglichkeit, Daten zu Visualisieren. So gibt es beispielsweise auch von JpGraph eine sehr umfangreiche kostenlose Variante. Während Google die Charts als SVG ausgibt erzeugt JpGraph echte Pixelgrafiken.
Ganz und gar auf PHP-Code setzt LibChart. Auch hier werden reine Pixelgrafiken erzeugt.
Mit Hilfe einer Flash-Datei erzeugt XML/SWF-Charts die Charts.