Ich habe eine Suche auf SO, aber habe nicht die richtige "Lösung" für mein Problem gefunden. Ich führe eine Schleife für einige Daten, die ich plotten möchte. In jedem Schritt der Schleife - plotte ich die Figur mit plt.show(). Da dies jedoch eine blockierende Funktion ist, bleibe ich stecken, bis ich das Fenster manuell schließe und dann die Schleife fortfährt und das nächste Diagramm erscheint.Python und Update Figur in Matplotlib
Was ich tun möchte, ist in der Lage, ein Tastendruckereignis zu binden, um die Figur zu schließen und die Schleife fortzusetzen (anstatt mit der Maus zu "X" aus der Abbildung).
Wenn dies nicht möglich ist, möchte ich einen Timer einstellen, um die Figur zu schließen und die Schleife fortzusetzen.
Alle meine Probleme scheinen mit der Tatsache zu tun, dass plt.show() alles andere blockiert - irgendwie herum?
Einige Anmerkungen zu meinen Plots: Sie verwenden die gleichen Achsen, enthalten aber ein Streudiagramm, Füllfelder und Anmerkungen - die sich immer ändern.
Danke!
Dies ist eine gute Antwort. Darüber hinaus könnten Sie es in eine GUI mit etwas wie PyQT setzen, die Ihnen mehr Kontrolle und die Möglichkeit gibt, bei Bedarf zu aktualisieren. – TimothyAWiseman
Das hat bei mir nicht funktioniert. Ich habe genau den gleichen Code verwendet, wie er geliefert wurde und seltsame Dinge passieren. Was geschah, war, dass alle Figuren nacheinander geöffnet wurden (ich drückte nicht und Knöpfe) und sie hatten nichts in ihnen. Außerdem erschien "Not Responding" und mein Python wurde heruntergefahren. Die pp.ion() scheint die Probleme zu verursachen. Hilfe?? – mcfly
@mcfly: Die Option 'ion()' bedeutet, dass die Ausführung nicht angehalten wird - wenn Sie die vorhandene Zeichnung jedes Mal ersetzen möchten, rufen Sie nur 'figure' einmal auf. – jmetz