2016-07-22 12 views
0

Ist es möglich, in matplotlib eine einzelne Zahl mehrfach anzuzeigen?Anzahl mehrfach mit matplotlib anzeigen

Ich suche nach einer Lösung, die die folgenden grob ähneln können:

fig1 = plt.figure() 
fig2 = plt.figure() 

ax1 = fig1.add_subplot(111) 
ax2 = fig2.add_subplot(111) 

ax1.imshow(a) 
ax2.imshow(b) 

fig1.show() 
fig2.show() 
fig1.show() 

Dies scheint in IDLE zu arbeiten, Zahlen bleiben aktiv, bis sie geschlossen und ich kann IDLE geben Sie eine neue Zahl zu öffnen, während die alte man ist immer noch aktiv. Dies funktioniert jedoch nicht, wenn ich das Skript ausführe. Hat das etwas mit dem interaktiven Modus zu tun?

Ich habe auch versucht, die Handlung zu unterbrechen, wenn das Skript ausgeführt wird:

fig1.show() 
plt.pause(10) 

aber dies zeigt sofort beiden Figuren. Warum ist IDLE in der Lage, fig1.show() anzuzeigen und zu warten, bis es geschlossen ist, aber während der Ausführung des Skripts fig1.show() sofort schließt, wenn es nicht pausiert? Und warum zeigt es alle Figuren gleichzeitig und nicht nur die eine Instanz?

Antwort

-1

Wenn Sie matplotlib im Inneren ausführen, zum Beispiel ipython, sollten Sie fig1.show() verwenden, um die Figur zu zeigen und gleichzeitig vermeiden, das ipython-Terminal zu blockieren. Allerdings, wenn Sie das Skript von einem Cmd, d. H. Mit python script.py ausführen möchten, sollten Sie statt plt.show() (beachten Sie, dass es genug ist mit plt.show() einmal, auch wenn Sie mehrere Zahlen haben), die die Zahlen aufrecht zu erhalten.

+0

Ja, das macht Sinn, aber meine Hauptfrage war etwas anderes. Während ich im Skriptmodus (d. H. Python script.py) laufe, kann ich dieselbe Figur zweimal mit plt.show() anzeigen? Mein Punkt war, dass ich das im interaktiven Modus mit fig.show() machen kann. Gibt es eine Möglichkeit, dies in einem Skript zu tun? – jolaem