Dies kann auch in der Konfigurationsdatei matplotlibrc
eingestellt werden (wie in der Fehlermeldung erklärt), zum Beispiel:
# The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo
# CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG
backend : Agg
Auf diese Weise muss das Backend nicht hartcodiert werden, wenn der Code mit anderen Personen geteilt wird. Weitere Informationen finden Sie in der Dokumentation.
Ihr aktuell ausgewähltes Backend, 'agg', unterstützt show() nicht.
AGG
Backend dient zum Schreiben in eine Datei, nicht zum Rendern in einem Fenster. Siehe Backend-FAQ auf der Matplotlib-Website.
ImportError:Kein Modul namens _backend_gdk
Beim zweiten Fehler ist Ihre Matplotlib-Distribution möglicherweise nicht mit GTK-Unterstützung kompiliert oder Sie vermissen das PyGTK-Paket. Versuchen Sie es zu installieren.
Rufen Sie die show()
an Methode innerhalb eines Terminals oder einer Anwendung, die Zugriff auf eine grafische Umgebung hat?
Probieren Sie andere GUI-Backends in dieser Reihenfolge aus:
TkAgg
wxAgg
Qt5Agg
Qt4Agg
FYI, ich fand, dass ich matplotlib.use('Agg')
einfügen musste zuerst in der Python-Importreihenfolge. Für das, was ich tat (Unit-Tests mussten kopflos sein), bedeutete das Putting
import matplotlib
matplotlib.use('Agg')
ganz oben in meinem Master-Testskript. Ich musste keine anderen Dateien anfassen.