matplotlib interaktiver Modus: Ermitteln, ob das Figurenfenster weiterhin angezeigt wird

8

Ich verwende Matplotlib im interaktiven Modus, um dem Benutzer ein Diagramm zu zeigen, das ihnen hilft, eine Reihe von Variablen einzugeben. Sie haben die Möglichkeit, "?" um dieses Diagramm anzuzeigen, und die Eingabeaufforderung für Variablen wird dann wiederholt.

Wie kann ich dieses Plot nicht erneut zeichnen, wenn es immer noch angezeigt wird?

Oberflächlich habe ich diesen klobigen (pseudo-ish) Code:

%Vor%

Was kann ich verwenden (in Bezug auf plt.gca (), fig etc ...) um festzustellen, ob ich neu plotten muss? Gibt es einen Status, den ich überprüfen kann?

Vielen Dank,

David

    
Dave 26.09.2011, 15:00
quelle

2 Antworten

12

Wie bei der Antwort von unutbu können Sie auch prüfen, ob eine gegebene Figur noch mit

geöffnet ist %Vor%

Die Zahlenzahl einer Figur ist in fig.number .

PS: Beachten Sie, dass die "Zahl" in figure(num=…) tatsächlich eine Zeichenkette sein kann: Sie wird im Fenstertitel angezeigt. Die Zahl hat jedoch immer noch ein number -Attribut, das numerisch ist: Die ursprüngliche Zeichenfolge num -Wert kann nicht mit fignum_exists() verwendet werden.

PPS: Das heißt, subplots(…, num=<string num>) stellt die vorhandene Figur mit der gegebenen Zeichenkette wieder richtig her. So sind Zahlen in einigen Teilen von Matplotlib immer noch durch ihre String-Nummer bekannt (aber fignum_exists() verwendet solche Strings nicht).

    
EOL 26.09.2011, 18:37
quelle
7
%Vor%     
unutbu 26.09.2011 16:18
quelle

Tags und Links