Wer nicht nur die aus den Messpunkten konstruierte Diagrammlinie sehen möchte, sondern auch noch die einzelnen Messpunkte als Kreuzchen, setzt, wie in Zeile 65 gezeigt, die Option »marker«. Die ersten beiden Elemente des »markerset« bestimmen die Kreuzchen des ersten und des zweiten Datensatzes, den sie jeweils mit »dataset => 0« und »dataset => 1« festlegen. Ist »datapoint« auf -1 gesetzt, zeichnet der Chartservice jeden Messpunkt ein, der Benutzer kann aber auch eine Auswahl festlegen. Marker mit der Priorität 1 zeichnet »graph-discharge« zuletzt und stellt so sicher, dass die Linien am Ende nicht etwa die kleinen Kreuzchen verdecken.
Entsprechen die gezeichneten Diagrammlinien nicht den ästhetischen Bedürfnissen des Betrachters, der vielleicht dickere Linien wünscht, geht auch dies (etwas kontra-intuitiv) mit »marker«. Statt eines Kreuzchens mit »x« als »marker_type« bestimmt ein Eintrag mit dem Typ »D« Linieneigenschaften wie Dicke oder Farbe. Wer also die Diagrammlinien einfach verdicken möchte, legt die gleiche Farbe wie vorher mit der »color«-Option in Zeile 59 fest und bestimmt eine Markerdicke von 4. Die Priorität -1 stellt sicher, dass die Linien sich nicht mit den Kreuzchen ins Gehege kommen und immer unter letzteren bleiben.
Die schließlich in Zeile 98 aufgerufene Methode »render_to_file()« stellt die URL nach Abbildung 4 zusammen, schickt sie an Google, und nach etwa einer Sekunde kommt das fertige Bild zurück, das die Methode gleich unter dem angegebenen Dateinamen auf der Festplatte im PNG- Format ablegt.
Das Modul Google::Chart ist beim CPAN erhältlich und benötigt das postmoderne Objektsystem »Moose«, das einen ganzen Rattenschwanz an Abhängigkeiten hinterherschleift, also ist eine CPAN-Shell oder der Package-Manager der Distribution hilfreich.
Github sei Dank
Zum Zeitpunkt der Fertigstellung dieses Artikels fehlten Google::Chart allerdings noch einige Funktionen. Aber nach kurzer Konversation mit den Entwicklern übernahmen sie freundlicherweise schnell meine Patches auf der Kollaborationsseite Github.com und spielten sie in ihre Entwicklerversion 0.05014_01 ein, die unter [3] neben der stabilen Release zum Download bereit steht. (jcb)
|
Infos |
|---|
|
[1] Listings zu diesem Artikel: [ftp://www.linux-magazin.de/pub/listings/magazin/2009/07/Perl] [2] Github-Projekt des Moduls Google::Chart: [http://github.com/lestrrat/google-chart/tree/master] [3] CPAN-Version des Moduls Google::Chart (einschließlich Testversion 0.05014_01): [http://search.cpan.org/dist/Google-Chart] [4] Google-Chart-API, Developer’s Guide: [http://code.google.com/apis/chart] [5] “Spam kartieren”: Linux-Magazin 2/09, [https://www.linux-magazin.de/heft_abo/ausgaben/2009/02/spam_kartieren] |
|
Der Autor |
|---|
|
|






