unter.Strom.bz / 27 Beiträge / 11 Kommentare / blog feed / feed für kommentare

Feine grafische Diagramme in PHP mit amCharts erzeugen

Jeder der schon mal versucht eine größere Menge von Daten grafisch schön mit PHP auszugeben, musste sich auf die Suche nach einer dafür geeigneten Bibliothek machen, von denen es unzählige gibt. Nach langem Suchen habe ich mich für amCharts entschlossen. Das gibt’s Download und zwar kostenlos. Einzieger Wehmutstropfen, bei der Gratis-Version wird in den Diagrammen ein kleiner Link zu amCharts angezeigt.

Das Ganze funktioniert mit Flash. Man gibt lediglich den Dateinamen an, wo die Daten im gewünschten Format liegen (z. B. XML, CSV) und den Rest erledigt das Script. Es gibt verschiedenste Darstellungsarten, u.a. Balken- und Kreisdiagramme. Besonders spannend ist jedoch das sog. “Stock Chart”, was eigentlich für die Visualisierung von Aktienkursen gedacht ist. Jedoch lässt es sich problemlos auch auf andere Bereiche anwenden, weil man einen Datenbestand (z. B. Position in einer Suchmaschine) auf sehr lange Zeitäume darstellen und diese Zeiträume beliebig eingrenzen und verschieben.

Hinweis für das Einbinden von dynamisch generierten Daten:
Meist hat man keine statische CSV-Datei, die dargestellt werden soll, sondern die Daten werden zur Laufzeit erzeugt beispielsweise in PHP. Bei amCharts gibt es eine Variable “additional_chart_settings”, in der man u. A. dem Dateinamen im <filename>-Element angeben kann.
Im statische Fall genügt die Angabe von …<filename>datei.csv</filename>…, damit die Daten von datei.csv korrekt übergeben werden.
Handelt es sich jecdoch um eine dynamisch generierte Datei z. B. “date.php?do=getCsvData&id=1″, so muss diese Url unbedingt vorher mit dem Befehl encodeUriComponent() kodiert werden.
Also in etw so …<filename>’+encodeUriComponent(”date.php?do=getCsvData&id=1″)+’</filename>…

Ich bin mit amCharts sehr zufrieden und kann den Einsatz nur empfehlen. Was meint Ihr dazu? Oder nutzt ihr ein andere Bibliothek für die Erzeugung von Diagrammen in PHP?

Keine Kommentare

Einen Kommentar hinterlassen