Chart in django Web-Anwendungen
Frage
Ich möchte ein Diagramm in einer Web-Anwendung einbetten entwickelt django verwendet wird.
Ich bin gekommen, über Google Charts API , ReportLab , PyChart , matplotlib und DynaPDF
Ich will es in der Server-Seite zu tun, anstatt den AJAX-Request an Google Chart API senden, wie ich auch das Diagramm in das PDF eingebettet werden soll.
Welches ist die beste Option zu verwenden, und was sind die relativen Vorteile und Nachteile des einen über den anderen.
Lösung
Eine andere Wahl ist CairoPlot .
Wir wählten matplotlib über die anderen für einige ernsthafte grafische Darstellung innerhalb eines unserer django-Anwendungen, vor allem, weil es das einzige war, das uns genau die Art von Kontrolle gaben wir brauchten.
Performance zu erzeugen PNG war in Ordnung für uns, aber ... es ist eine hoch spezialisierten App mit weniger als 10 Anmeldungen pro Tag war.
Andere Tipps
Nun, ich bin beteiligt in einem Open-Source-Projekt, Djime , dass verwendet OpenFlashChart 2 .
Wie Sie sehen können von unseren Code , die JSON-Daten zu erzeugen, die OFC verwendet, ist ein wenig kompliziert, aber der Ausgang ist sehr schön und benutzerfreundlich, da Sie Tooltips hinzufügen können, usw. auf die verschiedenen Elemente.
Öffnen Flash Chart 2
http://teethgrinder.co.uk/open-flash-chart- 2 /
Python-Bibliothek http://btbytes.github.com/pyofc2/
kybi
Ein Paket, das ich haben wollte, versuchen, Graphit . Es ist eine grafische Darstellung Server / Plattform mit Django gebaut. Es ist spezialisiert für „numerische Zeitreihendaten“, obwohl, wie Aktienkurse oder die Bandbreitennutzung. Wenn das Ihren Bedarf passt würde ich check it out. Hier sind einige Screenshots:
Ich mag Client-Seite Charts, weil Sie volle Seite Plotten erhalten können.
Eine gute Optionen scheint JQuery Flot zu sein: http://code.google.com/p/ flicht / die JSON Daten laden kann. Allerdings werden Sie nicht pdf Support.
Vielleicht möchten Sie vielleicht einen Blick haben hier: Django Plotten App . Das HowTo beschreibt, wie matplotlib Plots in das Admin-Interface einbetten und eine PDF-Ansicht erstellen.
Ich habe verwendet Fusion Gratis mit Django.
Die Flash-basierte, Open Source, Multi-lizenziert und es ist gut dokumentiert. Es ist Actionscript 1, sondern als Version für mich nicht wirklich ein Kriterium war, obwohl es für andere sein könnte.