Wissenschaftliche Plotting in Python

8

Ich habe einen großen Datensatz mit Tupeln, die (Zeit des Ereignisses, Breite, Länge) enthalten, die ich visualisieren muss. Ich hatte gehofft, ein "Film" ähnliches xy-Plot zu erzeugen, aber ich fragte mich, ob jemand eine bessere Idee hat oder ob es einen einfachen Weg gibt, dies in Python zu tun?

Vielen Dank im Voraus für die Hilfe, --Leo

    
user100046 03.05.2009, 01:53
quelle

7 Antworten

16

Holen Sie sich matplotlib

    
Francis 03.05.2009, 02:14
quelle
8

Die einfachste Option ist matplotlib. Zwei besondere Lösungen, die für Sie arbeiten könnten, sind:

1) Sie können eine Reihe von Plots erstellen, von denen jeder zu einem bestimmten Zeitpunkt ein Schnappschuss ist. Diese können entweder als dynamisches Diagramm in Matplotlib angezeigt werden, wobei die Achsen gleich bleiben und die Daten sich bewegen. oder Sie können die Serie von Plots in separaten Dateien speichern und sie später zu einem Film kombinieren (mit einer separaten Anwendung). Es gibt eine Reihe von Beispielen in den offiziellen Beispielen für diese Dinge.

2) Ein einfaches Streudiagramm, bei dem sich die Farben der Kreise mit der Zeit ändern, könnte für Ihre Daten gut funktionieren. Das ist super einfach. Siehe zum Beispiel dies , das diese Figur erzeugt alt text http://matplotlib.sourceforge.net/plot_directive/mpl_examples/pylab_examples/ellipse_collection.hires. png

    
tom10 01.06.2009 20:17
quelle
4

Ich würde rpy versuchen. Die ganze Kraft von R, aus dem Inneren von Python. Ссылка

rpy ist großartig.

Sieh dir die CRAN-Bibliothek für Animationen an, Ссылка

Natürlich müssen Sie ein bisschen über R lernen, um das zu tun, aber wenn Sie planen, solche Dinge in Zukunft routinemäßig zu machen, wird es sich lohnen, es zu lernen.

    
si28719e 03.05.2009 16:18
quelle
3

Wenn Sie sich für das wissenschaftliche Plotten mit Python interessieren, werfen Sie einen Blick auf Mlab: Ссылка

Damit können Sie 2d / 3d plotten und Ihre Daten animieren und die Qualität der Charts ist wirklich hoch.

    
DrDee 01.06.2009 18:56
quelle
2

Enthoughts Chaco wurde für interaktive / aktualisierende Plots entwickelt. Das api und so dauert eine Weile, um zu verwenden, aber sobald Sie dort sind, ist es ein fantastischer Rahmen, mit zu arbeiten.

    
Autoplectic 03.05.2009 16:46
quelle
0

Ich habe mit Python-Anwendungen, die SVG mit eingebetteten Animationsfunktionen erzeugen, einen vernünftigen Erfolg gehabt, aber das war mit einem kleineren Satz von Elementen als dem, was Sie wahrscheinlich haben. Wenn es sich bei Ihren Daten beispielsweise um ein seismisches Ereignis handelt, zeigen Sie einen Kreis an, der bei Eintritt des Ereignisses angezeigt wird und dessen Größe der Größe des Ereignisses entspricht. Ein beweglicher Indikator über eine Zeitleiste ist wirklich einfach hinzuzufügen.

Kaleidoskop (Opera, andere vielleicht, Safari nicht) zeigt viele Stücke, die sich bewegen und ich fand inspirierend. Viele andere gute SVG-Tutorial-Inhalte auf der Website auch.

    
Joel 03.05.2009 04:23
quelle
0

Vielleicht möchten Sie sich PyQwt ansehen. Es ist eine Plot-Bibliothek, die mit Qt / PyQt arbeitet.

Einige der PyQwt-Beispiele (im Verzeichnis qt4examples) zeigen, wie man "sich bewegende" / dynamisch wechselnde Diagramme erstellt - siehe CPUplot.py , MapDemo.py , DataDemo.py .

    
dF. 03.05.2009 05:06
quelle