Ich bin mir nicht sicher, warum dieser geschlossen wurde. Es lädt keine Flammenkriege oder Meinungen ein und hat eine Reihe klarer Antworten: Es gibt nur eine Handvoll Python-Plotbibliotheken.
Alex B
7
Warum ist das geschlossen? Dies ist eine nützliche Frage. Wie auch immer, meine Empfehlung ist, sich pip search plotanzuschauen, was auf mich zukommt. Ich habe Pygal auf diese Weise entdeckt und Pygal sieht großartig aus.
Mark E. Haase
Erwähnenswert ist auch, dass diese Frage ganz oben auf einer Google-Suche nach "Charting Python" steht - Grund genug, sie erneut zu öffnen.
George Lund
Diese Frage ist nützlich, sie sollte nicht geschlossen werden. Andere Optionen sind Bokeh und PyX
Atomh33ls
Antworten:
50
Ich bin derjenige, der CairoPlot unterstützt, und ich bin sehr stolz darauf, dass es hier aufgetaucht ist. Sicherlich ist matplotlib großartig, aber ich glaube, CairoPlot sieht besser aus. Für Präsentationen und Websites ist dies eine sehr gute Wahl.
Heute habe ich Version 1.1 veröffentlicht. Wenn Sie interessiert sind, schauen Sie sich CairoPlot v1.1 an
EDIT: Nach einem langen und kalten Winter wird CairoPlot wieder entwickelt. Schauen Sie sich die neue Version auf GitHub an .
Cairoplot funktioniert bei großen Datenmengen allerdings nicht so gut (korrigieren Sie mich, wenn ich falsch liege). Sie können der Achse keine Beschriftungen hinzufügen, um die hlabels oder vlabels zusammenzufassen. Ich kann sowieso nicht sehen, um mehrere Linien in einem Diagramm zu zeichnen oder die verwendeten Farben zu steuern. Ich könnte mich an dem Drehbuch abhacken ... zu matplotlib wechseln ...
Jon
Jeder sollte Jons Kommentar ignorieren, es ist sehr einfach, die Achse zu beschriften und die verwendeten Farben zu definieren ... Beispiele finden Sie unter tests.py. Trotzdem danke für eine nette Bibliothek.
Daniel Magnusson
38
Für die interaktive Arbeit ist Matplotlib der ausgereifte Standard. Es bietet eine OO-API sowie eine interaktive Matlab-API.
Chaco ist eine modernere Plotbibliothek der Enthought. Es verwendet die Kiva-Vektorzeichnungsbibliothek von Enthought und arbeitet derzeit nur mit Wx und Qt mit OpenGL (Matplotlib verfügt über Backends für Tk, Qt, Wx, Cocoa und viele Bildtypen wie PDF, EPS, PNG usw.). Die Hauptvorteile von Chaco sind seine Geschwindigkeit im Vergleich zu Matplotlib und seine Integration in die Traits-API von Enthought für interaktive Anwendungen.
Ich stimme zu, dass matplotlib von allen APIs tatsächlich die ausgereifteste und funktionsreichste zu sein scheint (und auch weiterhin unterstützt und weiterentwickelt wird). Gehen Sie einfach zu seiner "Galerie", um verschiedene Beispiele (mit entsprechendem Quellcode) zu sehen: matplotlib.sourceforge.net/gallery.html . Ich würde jedoch sagen, dass seine API kompliziert ist - Methodennamen machen mich verrückt :) Wenn ich über "komplizierte" und einfache Beispiele spreche, hat mir dieser Blog-Beitrag sehr geholfen, mit matplotlib zu beginnen: shreevatsa.wordpress .com / 2010/03/07 / matplotlib-tutorial
Timur
Entschuldigung, ich muss auch hinzufügen, dass matplotlib nicht nur interaktiv ist - Sie können Plot / Diagramm tatsächlich in einer Datei speichern. Zum Beispiel. PNG, PDF oder SVG.
Timur
18
Sie können auch pygooglechart verwenden , das die Google Chart-API verwendet . Dies ist nicht etwas, das Sie immer verwenden möchten, aber wenn Sie eine kleine Anzahl guter, einfacher Diagramme möchten und immer online sind, und insbesondere, wenn Sie ohnehin in einem Browser anzeigen, ist dies eine gute Wahl.
Ein Wort der Warnung: Die von Google erstellten Diagramme sind in ihrer Größe eher begrenzt (Breite * Höhe <= 300.000 Pixel). Außerdem wird Google Charts (nicht die Python-API) mit selbst bescheidenen Datensätzen ersticken. Ansonsten sind sie großartig.
Sie haben nicht erwähnt, welches Ausgabeformat Sie benötigen, aber reportlab kann Diagramme sowohl im PDF- als auch im Bitmap-Format (z. B. PNG) erstellen.
Hier ist ein einfaches Beispiel für ein Balkendiagramm im PNG- und PDF-Format:
Wenn eine Ausnahme angezeigt wird "RenderPMError: Kann setFont (Times-Roman) die T1-Dateien nicht vermissen?" (wie ich es bekommen habe) auf d.save im obigen Code - Die Lösung besteht darin, reportlab.org/ftp/fonts/pfbfer.zip im Verzeichnis reportlabs / fornts herunterzuladen und zu extrahieren
Shekhar
+1 für die Erstellung eines praktischen Beispiels.
Ja, ich habe dot_line_plot () in Reporting- / Statistik-Tools verwendet. Es ist hübsch und einfach. Siehe die Top-Antwort von Rodrigo zu Matplotlib und CairoPlot. Ich benutze auch Matplotlib. Tatsächlich benutze ich es gerade.
Elmarco
Seltsame Leute haben Ihre Antwort nicht verstanden, aber die aktuell am besten gewählte Antwort.
Pihentagy
Ich denke, dies würde mehr positive Stimmen bekommen, wenn es ein minimales Beispiel gäbe. Ihre Antwort wird unbrauchbar, wenn der Link tot ist.
Martin Thoma
danke, der blog hat schon viele informationen. und der Autor selbst antwortete hier später mit weiteren Details.
Elmarco
6
Ich habe Pychart verwendet und fand es sehr einfach.
Es ist alles native Python und hat keine Busladung von Abhängigkeiten. Ich bin mir sicher, dass matplotlib sehr schön ist, aber ich würde es tagelang herunterladen und installieren und ich möchte nur ein Maß-Balkendiagramm!
Es scheint in ein paar Jahren nicht aktualisiert worden zu sein, aber hey, es funktioniert!
Wenn Sie gnuplot zum Plotten verwenden möchten , sollten Sie Gnuplot.py in Betracht ziehen . Es bietet eine objektorientierte Schnittstelle zu gnuplot und ermöglicht es Ihnen, Befehle direkt an gnuplot zu übergeben. Leider wird es nicht mehr aktiv entwickelt.
Es ist nur ein Paket, das es einfach macht, die für Open Flash Charts 2 benötigten JSON-Daten zu generieren, die sehr schön sind. Schauen Sie sich die Beispiele unter dem obigen Link an.
Technisch gesehen keine Python-API, aber Sie können sie von Python aus verwenden. Die Codierung ist relativ schnell und die Ergebnisse sehen in der Regel gut aus. Wenn Sie Ihre Grundstücke zufällig online nutzen, ist dies eine noch bessere Lösung.
PLplot ist ein plattformübergreifendes Softwarepaket zum Erstellen wissenschaftlicher Diagramme. Sie sind nicht sehr hübsch (Blickfang), aber sie sehen gut genug aus. Schauen Sie sich einige Beispiele an (sowohl Quellcode als auch Bilder).
Mit der PLplot-Kernbibliothek können Standard-XY-Diagramme, Semi-Log-Diagramme, Log-Log-Diagramme, Konturdiagramme, 3D-Oberflächendiagramme, Netzdiagramme, Balkendiagramme und Kreisdiagramme erstellt werden. Es läuft unter Windows (2000, XP und Vista), Linux, Mac OS X und anderen Unices.
pip search plot
anzuschauen, was auf mich zukommt. Ich habe Pygal auf diese Weise entdeckt und Pygal sieht großartig aus.Antworten:
Ich bin derjenige, der CairoPlot unterstützt, und ich bin sehr stolz darauf, dass es hier aufgetaucht ist. Sicherlich ist matplotlib großartig, aber ich glaube, CairoPlot sieht besser aus. Für Präsentationen und Websites ist dies eine sehr gute Wahl.
Heute habe ich Version 1.1 veröffentlicht. Wenn Sie interessiert sind, schauen Sie sich CairoPlot v1.1 an
EDIT: Nach einem langen und kalten Winter wird CairoPlot wieder entwickelt. Schauen Sie sich die neue Version auf GitHub an .
quelle
Für die interaktive Arbeit ist Matplotlib der ausgereifte Standard. Es bietet eine OO-API sowie eine interaktive Matlab-API.
Chaco ist eine modernere Plotbibliothek der Enthought. Es verwendet die Kiva-Vektorzeichnungsbibliothek von Enthought und arbeitet derzeit nur mit Wx und Qt mit OpenGL (Matplotlib verfügt über Backends für Tk, Qt, Wx, Cocoa und viele Bildtypen wie PDF, EPS, PNG usw.). Die Hauptvorteile von Chaco sind seine Geschwindigkeit im Vergleich zu Matplotlib und seine Integration in die Traits-API von Enthought für interaktive Anwendungen.
quelle
Sie können auch pygooglechart verwenden , das die Google Chart-API verwendet . Dies ist nicht etwas, das Sie immer verwenden möchten, aber wenn Sie eine kleine Anzahl guter, einfacher Diagramme möchten und immer online sind, und insbesondere, wenn Sie ohnehin in einem Browser anzeigen, ist dies eine gute Wahl.
quelle
Sie haben nicht erwähnt, welches Ausgabeformat Sie benötigen, aber reportlab kann Diagramme sowohl im PDF- als auch im Bitmap-Format (z. B. PNG) erstellen.
Hier ist ein einfaches Beispiel für ein Balkendiagramm im PNG- und PDF-Format:
Alternativtext http://i40.tinypic.com/2j677tl.jpg
Hinweis: Das Bild wurde vom Bildhost in JPG konvertiert.
quelle
CairoPlot
quelle
Ich habe Pychart verwendet und fand es sehr einfach.
http://home.gna.org/pychart/
Es ist alles native Python und hat keine Busladung von Abhängigkeiten. Ich bin mir sicher, dass matplotlib sehr schön ist, aber ich würde es tagelang herunterladen und installieren und ich möchte nur ein Maß-Balkendiagramm!
Es scheint in ein paar Jahren nicht aktualisiert worden zu sein, aber hey, es funktioniert!
quelle
Haben Sie sich mit ChartDirector für Python befasst ?
Ich kann nicht darüber sprechen, aber ich habe ChartDirector für PHP verwendet und es ist ziemlich gut.
quelle
NodeBox eignet sich hervorragend für die Erstellung von Rohgrafiken .
quelle
Wenn Sie gnuplot zum Plotten verwenden möchten , sollten Sie Gnuplot.py in Betracht ziehen . Es bietet eine objektorientierte Schnittstelle zu gnuplot und ermöglicht es Ihnen, Befehle direkt an gnuplot zu übergeben. Leider wird es nicht mehr aktiv entwickelt.
quelle
Chaco aus Begeisterung ist eine weitere Option
quelle
Sie sollten auch PyCha http://www.lorenzogil.com/projects/pycha/ in Betracht ziehen.
quelle
Ich bin ein Fan von PyOFC2: http://btbytes.github.com/pyofc2/
Es ist nur ein Paket, das es einfach macht, die für Open Flash Charts 2 benötigten JSON-Daten zu generieren, die sehr schön sind. Schauen Sie sich die Beispiele unter dem obigen Link an.
quelle
Weitere Informationen finden Sie in der Open Flash Chart-Einbettung für WHIFF unter http://aaron.oirt.rutgers.edu/myapp/docs/W1100_1600.openFlashCharts und in der amCharts-Einbettung für WHIFF unter http://aaron.oirt.rutgers.edu/myapp/. amcharts / doc . Vielen Dank.
quelle
Sie können auch Google Charts in Betracht ziehen .
Technisch gesehen keine Python-API, aber Sie können sie von Python aus verwenden. Die Codierung ist relativ schnell und die Ergebnisse sehen in der Regel gut aus. Wenn Sie Ihre Grundstücke zufällig online nutzen, ist dies eine noch bessere Lösung.
quelle
PLplot ist ein plattformübergreifendes Softwarepaket zum Erstellen wissenschaftlicher Diagramme. Sie sind nicht sehr hübsch (Blickfang), aber sie sehen gut genug aus. Schauen Sie sich einige Beispiele an (sowohl Quellcode als auch Bilder).
Mit der PLplot-Kernbibliothek können Standard-XY-Diagramme, Semi-Log-Diagramme, Log-Log-Diagramme, Konturdiagramme, 3D-Oberflächendiagramme, Netzdiagramme, Balkendiagramme und Kreisdiagramme erstellt werden. Es läuft unter Windows (2000, XP und Vista), Linux, Mac OS X und anderen Unices.
quelle