Cela peut également être défini dans le fichier de configuration matplotlibrc
(comme expliqué dans le message d'erreur), par exemple :
# 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
De cette façon, le backend n'a pas besoin d'être codé en dur si le code est partagé avec d'autres personnes. Pour plus d'informations, consultez la documentation.
Votre backend actuellement sélectionné, 'agg' ne prend pas en charge show().
AGG
backend est pour écrire dans un fichier, pas pour le rendu dans une fenêtre. Consultez la FAQ du backend sur le site Web de matplotlib.
ImportError :Aucun module nommé _backend_gdk
Pour la deuxième erreur, peut-être que votre distribution matplotlib n'est pas compilée avec le support GTK, ou que vous manquez le package PyGTK. Essayez de l'installer.
Appelez-vous le show()
méthode dans un terminal ou une application ayant accès à un environnement graphique ?
Essayez d'autres backends GUI, dans cet ordre :
TkAgg
wxAgg
Qt5Agg
Qt4Agg
Pour info, j'ai trouvé que je devais mettre matplotlib.use('Agg')
premier dans l'ordre d'importation Python. Pour ce que je faisais (les tests unitaires devaient être sans tête), cela signifiait mettre
import matplotlib
matplotlib.use('Agg')
en haut de mon script de test principal. Je n'ai pas eu à toucher à d'autres fichiers.