Kann das matplotlib-Plotfenster nicht manuell schließen

8

Ich verwende Python v2.7 und matplotlib v1.5.0 unter Mac OS X Yosemite. Bis vor kurzem konnte ich mein Skript im interaktiven Interpreter ausführen, ein Diagramm anzeigen und dann das Fenster manuell beenden. Zum Beispiel

%Vor%

Früher funktionierte das gut. Das Fenster wurde geschlossen und ich kehrte zur Eingabeaufforderung zurück. Wenn ich nun das rote X drücke, um das Fenster zu schließen, bleibt das Fenster geöffnet. Meine Eingabeaufforderung kehrt zurück und funktioniert gut, aber das Fenster bleibt stecken und ich sehe den sich drehenden Wasserball darüber.

(Beachten Sie, dass der Cursor nicht im Bild erscheint, aber Sie können sehen, dass das rote X ausgegraut ist, weil ich geschlossen bin, aber es bleibt offen.)

Erst wenn ich das Skript ein zweites Mal ausführe, schließt sich das erste Fenster, aber dann stecke ich mit einem zweiten offenen Plot mit demselben Problem fest. Ich bin ein bisschen verwirrt, weil das erst kürzlich passiert ist. Bis jetzt würde das Fenster gut schließen.

Es ist kein großes Problem, denn Python läuft immer noch und ich kann immer noch neue Plots machen, aber ich bin neugierig, warum das Fenster plötzlich offen bleiben würde. Irgendwelche Tipps?

AKTUALISIEREN

Ich habe das Problem gelöst, indem ich das interaktive Backend gewechselt habe. Entweder Qt4Agg oder TkAgg als interaktives Backend löst das Problem. Aber die Frage bleibt, warum die Macosx- und CocoaAgg-Backends dieses Verhalten zeigen.

    
Nate 05.12.2015, 17:41
quelle

2 Antworten

8

Für eine dauerhafte Lösung (ich möchte nicht jedes Mal, wenn ich ipython öffne, die Backends wechseln muss) können Sie matplotlibrc <ändern / a>.

Es gibt verschiedene matplotlibrc -Dateien, die geändert werden können (d. h. nur für ein lokales Verzeichnis oder global usw.). Verwenden Sie matplotlib.matplotlib_fname() , um die Konfigurationsdatei zu finden, die für Ihre ipython-Sitzung geladen wurde. Folgendes habe ich bekommen:

%Vor%

Öffnen der RC-Datei und Ändern der Zeile:

%Vor%

zu lesen:

%Vor%

hat den Trick für mich getan.

    
ohruunuruus 07.09.2016 21:54
quelle
5

Ich habe das Problem gelöst, indem ich das interaktive Backend gewechselt habe. Entweder Qt4Agg oder TkAgg als interaktives Backend löst das Problem.

    
Nate 05.12.2015 21:12
quelle

Tags und Links