ASP.NET

Google Chart API einsetzen

Datenvisualiserung ohne eine Zeile Code

Die Visualisierung von Daten ist immer noch die einfachste Methode Menschen einen Sachverhalt nahe zu bringen. So ist nichts aussagekräftiger als ein Diagramm, um eine trockene Zahlenreihe darzustellen.

Dem trug Internet-Gemischtwarenladen Google nun Rechnung und hat eine wirklich bemerkenswerte API veröffentlicht, die mittels kodierter URL's eine Vielzahl unterschiedlicher Diagramme als PNG zurückgibt und frei zu verwenden ist. Lediglich ab dem 50.000sten Zugriff am Tag ist Schluss.

Darauf gebracht hat mich ein lesenswerter Artikel von Robert Mühsig, auf den ich bei der Suche nach einem geeigneten Visualisierungswerkzeug gestoßen bin. Zunächst hatte ich mir vorgenommen meine Anforderungen über die jQuery-Erweiterung Flot abzufeiern, aber Roberts Beitrag und die sehr detaillierte Google-Chart-Dokumentation hat mich überzeugt. Ich möchte hier nur kurz die Features beschreiben, denn gerade Letztere ist in ihrer Ausführungsgenauigkeit kaum zu überbieten.

Google Chart funktioniert, wie bereits erwähnt, über URL's in der die Parameter das Aussehen des Diagramms bestimmen. So gehen die eigentlichen Daten ebenso als Parameter über den Äther. Es ist also angeraten nicht gerade sensibelste Daten über die API zu visualisieren.

Ein Beispiel findet Ihr hier rechts oben. Das ist keine fixe Grafik, sondern eine Live-Auswertung über Google Chart!

Da in URL's per Definition nicht jedes Zeichen mitgeschickt werden kann, hat sich Google eine dreistufige Kodierung der darzustellenden Daten ausgedacht, die jeden Zweck erfüllt.

Simple Encoding

Mit dieser minimalen Kodierung können lediglich Ganzzahlen von 1 bis 62 dargestellt werden. Jede Ziffer entspricht der Position innerhalb des Zeichenvektors "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", also D=4, k=37 und so weiter.

Text Encoding

Hiermit können Fließkommazahlen von 0,0 bis 100,0 dargestellt werden, die maximal eine Nachkommastelle besitzen. Die Ziffern werden nicht weiter kodiert, sondern direkt in den Parameter eingefügt. (...wieso dann Encoding ?)

Extended Encoding

Diese maximale Kodierung repräsentiert 4.096 Ziffern in einer 64x64 Zellen großen Matrix. Die X- und die Y-Achse entsprechen dem Zeichenvektor des Simple Encodings, plus den beiden Zeichen Punkt und Bindestrich. Aus dieser Matrix sucht man sich für die Kodierung einer Ziffer einfach die Zeichenpaarung heraus, ähnlich der Zellendefinition in Excel.

Hier eine Methode, die das unter .NET erledigt:

Public Shared Function EncodeValueForGoogleChartExtended( _
	ByVal lngValue As Long) As String

	Dim strCharVector As String = _
		"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-."
	Dim strCharColumn As String = ""
	Dim strCharRow As String = ""

	Dim intRow As Integer = (lngValue Mod strCharVector.Length) + 1
	Dim intColumn As Integer = (lngValue \ strCharVector.Length) + 1

	strCharColumn = Mid(strCharVector, intColumn, 1)
	strCharRow = Mid(strCharVector, intRow, 1)

	Return strCharColumn & strCharRow

End Function

Viel Spass beim "charten"...

Update

Beim GoogleWatchBlog bin ich eben auf eine kleine Liste von Online-Tools gestoßen, über die man Charts recht bequem über ein Frontend erzeugen kann. Überzeugt haben mich dabei vor allem der ChartMaker und der Online Charts Builder. Weitere Informationen über die Google Charts API gibt es ein einer Google-Groups-Linkliste.
kick it on dotnet-kicks.de AddThis 0 wikio-Stimme(n) Trackback-Url...

Schlagworte

Keine Kommentare bislang...

Dein Kommentar hierzu...


Kommentar-Feed für diesen Beitrag
Gravatare werden unterstützt .:. eMail-Adressen werden nicht veröffentlicht
 

RSS-Feed

Die URL des Standard-Newsfeed von zerbit.de lautet:

http://www.zerbit.de/rssfeed.aspx

Login


 

 

Statistik



kürzlich kommentiert

Artikel 252

  • Datum: 30.01.2008
    Kategorie: ASP.NET
    Zugriffe: 2.592
    Kommentare: 0
    Trackbacks: 0

Letzte Beiträge

Kategorien

Buttons & More

Blog-Roll

Banner Piraten-Partei