mit show() und close () - von matplotlib
Ich bin erleben einige Probleme mit matplotlib.... Ich kann nicht öffnen Sie 2 Fenster auf einmal anzeigen ein Bild mit show(), es scheint, dass das Skript Stoppt in der Zeile, verwende ich zeigen und nicht weiter, es sei denn, ich schließe die Anzeige manuell. Gibt es eine Möglichkeit, schließen Sie die Bild-Fenster in der Tasche?
den folgenden code läuft nicht wie ich will:
import matplotlib.pyplot as plt
from time import sleep
from scipy import eye
plt.imshow(eye(3))
plt.show()
sleep(1)
plt.close()
plt.imshow(eye(2))
plt.show()
Erwartete ich, dass das erste Fenster zu schließen nach 1 Sekunde und dann öffnen die zweite, aber die Fenster nicht schließen, bis ich es dann selbst schließen. Mache ich etwas falsch, oder ist es so, wie es sein soll?
- Möglich duplizieren. Check stackoverflow.com/q/9753885/302369
- in der Tat, löst dieses problem, aber ich bekomme noch eins..... wenn ich plt.ion() kann ich nicht verwenden, einige Ressourcen wie z.B. zoom in den Bild-Fenster(kann ich auch nicht verschieben Sie das Fenster herum)...
Du musst angemeldet sein, um einen Kommentar abzugeben.
plt.show() ist ein Sperrung Funktion.
Im wesentlichen, wenn Sie zwei windows gleichzeitig öffnen, müssen Sie zwei zahlen, und verwenden Sie dann plt.show() am Ende, um Sie anzuzeigen. In der Tat, eine Allgemeine Faustregel ist, dass Sie Ihre Grundstücke und plt.show() ist die Letzte Sache, die Sie tun.
Also in deinem Fall:
Können Sie wechseln zwischen den plots mit
axes(ax2)
.Ich zusammen ein umfassendes Beispiel zeigt, warum die plot-Funktion blockiert wird und wie es verwendet werden kann in einer Antwort auf eine andere Frage: https://stackoverflow.com/a/11141305/1427975.
Benutze ich PyScripter und Python 2.7 und hatte auch das problem der
plt.show()
blockieren alle Ausführungen, bis Sie manuell schließen Sie die zahlen.Fand ich, dass ändern Sie das Python-Modul "" remote (Wx)' lässt das Skript ausgeführt, nachdem
plt.show()
- so könnte die enge Figuren mitplt.close()
.