Ich habe ein Simulationsmodell, das in Python mit NumPy und SciPy läuft und ein 2D NumPy Array als Ausgabe für jede Iteration erzeugt. Ich habe diese Ausgabe als Bild mit Matplotlib und der Imshow-Funktion angezeigt. Ich habe jedoch über Glumpy erfahren, und auf seiner Dokumentationsseite steht:
Dank der IPython-Shell kann glumpy im interaktiven Modus ausgeführt werden, in dem Sie Live-Updates in angezeigten Arrays sehen können, wenn deren Inhalt geändert wird.
Allerdings kann ich nicht herausfinden, wie ich das mit den Beispielen, die sie gegeben haben, machen kann. Im Grunde läuft mein Modell als eine einzige Funktion, die eine große for-Schleife enthält, um die Anzahl der Iterationen zu durchlaufen, die ich durchführe. Am Ende jeder Iteration der for-Schleife möchte ich das Array anzeigen. Im Moment benutze ich matplotlib, um das Bild in einer PNG-Datei zu speichern, da es durch das Anzeigen auf dem Bildschirm durch matplotlib den Python-Prozess einzufrieren scheint.
Ich bin mir sicher, dass es einen Weg gibt, dies mit Glumpy zu machen, ich bin mir einfach nicht sicher, wie und ich kann keine nützlichen Tutorials finden.
Die glumpige Dokumentation ist ziemlich nicht existent! Hier ist ein Beispiel für eine einfache Simulation, bei der die Array-Visualisierung mit glumpy
gegen matplotlib
verglichen wird:
Wenn ich matplotlib
mit GTKAgg
als mein Backend benutze und blit
verwende, um den Hintergrund nicht jedes Mal zu zeichnen, kann ich ungefähr 95 FPS erreichen. Mit Glumpy
bekomme ich ca. 250-300 FPS, obwohl ich momentan ein ziemlich schlechtes Grafik-Setup auf meinem Laptop habe. Allerdings ist Glumpy
etwas fummeliger, um zu arbeiten, und wenn Sie mit großen Matrizen arbeiten oder eine sehr hohe Framerate benötigen, würde ich bei der Verwendung von matplotlib
mit blit
.
Mit pyformulas 0.2.8 können Sie pf.screen verwenden, um einen nicht blockierenden Bildschirm zu erstellen:
> %Vor%Disclaimer: Ich bin der Maintainer für pyformulas