4 Stimmen

Matplotlib's GUI erlaubt keine Eingaben in der Save Box?

Ich habe mit matplotlib in Python für einige Zeit jetzt und ich habe endlich um diese Frage über ein Problem auf meinem Mac zu fragen bekommen. Wenn ein Plot angezeigt wird (nach der plot() Befehl, draw() , oder show() ), habe ich alle Funktionen, die ich mir wünschen könnte; ich kann verschieben, zoomen usw., was ich im Code nicht getan habe.

Wenn ich eine Figur mit der gewünschten Ansicht speichern möchte, öffnet sich das Feld "Speichern unter" und fordert mich zur Eingabe eines Dateinamens auf. Alles, was ich eingebe, erscheint in dem Terminal, das ich zum Ausführen des Befehls verwendet habe! Wenn ich X11 auswähle und dann tippe, hat das dasselbe Ergebnis. Nichts scheint die Tastatureingaben in das Feld zu übertragen, aber ich kann mit der Maus->Einfügen in das Feld einfügen und ich kann Dateien im Menü auswählen, um sie zu überschreiben, und es funktioniert gut.

Was hat es damit auf sich?

Aktualisierung:

Das Problem wurde wunderbar umrissen, und nun sind einige Lösungen veröffentlicht worden in diesem Beitrag: Warum funktioniert die Schaltfläche "Speichern" bei einem Matplotlib-Plot nicht?

0 Stimmen

Um welches Backend handelt es sich? Es klingt wie Sie einen Fehlerbericht in matplotlib's tracker Datei sollte.

0 Stimmen

Ich habe versucht, matplotlib zum Laufen zu bringen, damit ich dein Problem reproduzieren und versuchen kann, es zu beheben, aber ich habe es bisher nicht zum Laufen gebracht. Ich werde es aber weiter versuchen, wenn ich Zeit habe :-)

0 Stimmen

Vielen Dank, Benson; halten Sie sie am Leben!

1voto

Chinmay Kanchi Punkte 58341

Gerade installiert matplotlib 0.99.1 auf Python 2.6.2 auf Snow Leopard und führte den folgenden Code:

from pylab import *
plot([1,2,3])
show()

Dann habe ich eine Weile mit dem Plot herumgespielt und auf die Schaltfläche "Speichern" geklickt. Das Dialogfeld zum Speichern öffnete sich normal und ich konnte problemlos speichern (und eingeben). Dies geschah unter Verwendung des TkAgg-Backends. Allerdings habe ich diesen Fehler erhalten:

2009-12-08 00:40:18.772 Python[728:60f] -deltaZ is deprecated for NSEventTypeMagnify.  Please use -magnification.

Das scheint etwas damit zu tun zu haben, dass Snow Leopard einige APIs geändert hat.

Tut mir leid, dass ich dies als Beitrag und nicht als Kommentar geschrieben habe, aber Code-Tags sind in Kommentaren nicht erlaubt :(

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X