Si je configure mon backend sur template
in ~/.matplotlib/matplotlibrc
, je peux reproduire vos symptômes:
~ / .matplotlib / matplotlibrc:
# backend : GtkAgg
backend : template
Notez que le fichier matplotlibrc
peut ne pas être dans le répertoire ~/.matplotlib/
. Dans ce cas, le code suivant montre où il se trouve:
>>> import matplotlib
>>> matplotlib.matplotlib_fname()
In [1]: import matplotlib.pyplot as p
In [2]: p.plot(range(20),range(20))
Out[2]: [<matplotlib.lines.Line2D object at 0xa64932c>]
In [3]: p.show()
Si vous modifiez ~/.matplotlib/matplotlibrc
et changez le backend en quelque chose comme GtkAgg
, vous devriez voir un tracé. Vous pouvez lister tous les backends disponibles sur votre machine avec
import matplotlib.rcsetup as rcsetup
print(rcsetup.all_backends)
Il devrait renvoyer une liste comme:
['GTK', 'GTKAgg', 'GTKCairo', 'FltkAgg', 'MacOSX', 'QtAgg', 'Qt4Agg',
'TkAgg', 'WX', 'WXAgg', 'CocoaAgg', 'agg', 'cairo', 'emf', 'gdk', 'pdf',
'ps', 'svg', 'template']
Référence:
ImportError: No module named _backend_gdk
~/.config/matplotlib/matplotlibrc
(pour python 3, au moins). Je viens d'avoir un problème lié, et je pense qu'il a été causé par l'utilisation de matplotlib dans python 2.7, qui a créé un~/.matplotlib/
répertoire et a empêché python 3 de lire la configuration dans~/.config/matplotlib/
. La suppression a~/.matplotlib/
résolu le problème pour moi.J'ai rencontré exactement le même problème sur Ubuntu 12.04, car j'ai installé matplotlib (dans un virtualenv) en utilisant
Pour faire court, mon conseil est: n'essayez pas d'installer matplotlib en utilisant pip ou à la main; laissez un vrai gestionnaire de paquets (par exemple apt-get / synaptic) l'installer et toutes ses dépendances pour vous.
Malheureusement, les backends de matplotlib (méthodes alternatives pour rendre réellement vos tracés) ont toutes sortes de dépendances que pip ne traitera pas. Pire encore, il échoue silencieusement;
pip install matplotlib
autrement dit , semble installer matplotlib avec succès. Mais lorsque vous essayez de l'utiliser (par exemplepyplot.show()
), aucune fenêtre de tracé n'apparaîtra. J'ai essayé tous les différents backends suggérés par les internautes (Qt4Agg, GTK, etc.), et ils ont tous échoué (c'est-à-dire lorsque j'ai essayé d'importer matplotlib.pyplot, j'obtiensImportError
parce qu'il essaie d'importer une dépendance qui manque). J'ai ensuite recherché comment installer ces dépendances, mais cela m'a simplement donné envie de renoncer à utiliser pip (dans virtualenv) comme solution d'installation viable pour tout package qui a des dépendances de package non Python.L'expérience entière m'a renvoyé à ramper vers apt-get / synaptic (c'est-à-dire le gestionnaire de paquets Ubuntu) pour installer un logiciel comme matplotlib. Cela a parfaitement fonctionné. Bien sûr, cela signifie que vous ne pouvez installer que dans vos répertoires système, pas de bonté virtualenv, et vous êtes coincé avec les versions distribuées par Ubuntu, ce qui peut être très en retard sur la version actuelle ...
la source
--system-site-packages
option?pip install
estagg
. Je ne sais pas pourquoi, mais vous pouvez le changer selon la réponse de l'unutbu.pip
présente l'avantage majeur d'installer une version à jour -apt
installe une version obsolète. Parfois, il y a des corrections de bogues / de nouvelles fonctionnalités que vous voulez / avez besoin.virtualenv
fonctionné! Et j'ai pu installer matplotlib 1.4 à partir du système source dans tout le système (sur Ubuntu), mais pas sousvirtualenv
.% matplotlib en ligne
Pour moi travaillant avec un ordinateur portable, ajouter la ligne ci-dessus avant que l'intrigue ne fonctionne.
la source
%pylab inline
sur mon ordinateur portable comme indiqué par @Bhanu Pratap SinghPour référence future,
J'ai rencontré le même problème - pylab ne s'affichait pas sous ipython. Le problème a été résolu en modifiant le fichier de configuration d'ipython {ipython_config.py}. Dans le fichier de configuration
c.InteractiveShellApp.pylab = 'auto'
J'ai changé 'auto' en 'qt' et maintenant je vois des graphiques
la source
agg
, je ne sais pas chose qui%pylab inline
va travailler, non tracés montrent lorsque vous exécutez les scripts directement par exemple:python myscript.py
. La réponse d'unutbu devrait le réparer partout.Tapez simplement:
plt.ion()
Voir https://www.youtube.com/watch?v=1zmV8lZsHF4 à 23h30!
plt
est utilisé à cause de mon importation:import matplotlib.pyplot
comme pltJ'utilise python2.7 sur un mac avec iTerm2.
la source
Ce qui a résolu mon problème était simplement d'utiliser les deux lignes ci-dessous dans le cahier ipython en haut
Et ça a marché. J'utilise Ubuntu16.04 et ipython-5.1
la source
%pylab inline
fait fonctionner.J'ai dû installer matplotlib à partir des sources pour que cela fonctionne. Les principales instructions (à partir de http://www.pyimagesearch.com/2015/08/24/resolved-matplotlib-figures-not-showing-up-or-displaying/ ) sont:
En modifiant le backend, comme le dit @unutbu, je viens de rencontrer beaucoup plus de problèmes avec tous les différents backends qui ne fonctionnent pas non plus.
la source
L'ajout des deux lignes suivantes avant d'importer pylab semble fonctionner pour moi
la source
Assurez-vous que ce script de démarrage est activé: (Préférences> Console> Options avancées)
Si le PYTHONSTARTUP standard est activé, vous n'aurez pas de tracé interactif
la source
Similaire à @Rikki, j'ai résolu ce problème en mettant
matplotlib
à jour avecpip install matplotlib --upgrade
. Si vous ne pouvez pas mettre à niveau, la désinstallation et la réinstallation peuvent fonctionner.la source
Pour moi, le problème se produit si je crée simplement un fichier vide
matplotlibrc
sous~/.matplotlib
macOS. L'ajout de "backend: macosx" corrige le problème.Je pense que c'est un bug: si ce
backend
n'est pas spécifié dans mon,matplotlibrc
il devrait prendre la valeur par défaut.la source
Après avoir exécuté votre code, incluez:
la source
J'ai trouvé que j'avais besoin
window = Tk()
et puiswindow.mainloop()
la source
Pour Ubuntu 12.04:
la source