Je suis un nouvel utilisateur de matplotlib, ma plate-forme est Ubuntu 10.04 Python 2.6.5
C'est mon code
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.plot([1,2,3])
L'erreur est:
/usr/local/lib/python2.6/dist-packages/matplotlib/backends/__init__.py:41: UserWarning:
Your currently selected backend, 'agg' does not support show().
Please select a GUI backend in your matplotlibrc file ('/usr/local/lib/python2.6/dist-packages/matplotlib/mpl-data/matplotlibrc')
or with matplotlib.use()
(backend, matplotlib.matplotlib_fname()))
- J'ai installé la bibliothèque Anti-Grain Geometry
apt-get install libagg
mais cela ne fonctionne pas. - J'ai essayé d'utiliser d'autres arguments de backend comme «GTK» et «TkAgg».
- J'ai installé le
python-gtk2-dev
package, mais l'erreur est toujours ci-dessous. - Quelqu'un peut-il me dire un argument backend exécutable et sa bibliothèque de dépendances?
Voici l'erreur:
>>> matplotlib.use('GTK')
>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/matplotlib/pyplot.py", line 95, in <module>
new_figure_manager, draw_if_interactive, show = pylab_setup()
File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
globals(),locals(),[backend_name])
File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/backend_gtk.py", line 28, in <module>
from matplotlib.backends.backend_gdk import RendererGDK, FigureCanvasGDK
File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/backend_gdk.py", line 29, in <module>
from matplotlib.backends._backend_gdk import pixbuf_get_pixels_array
ImportError: No module named _backend_gdk
python
linux
graphics
matplotlib
user504909
la source
la source
FYI, j'ai trouvé que je devais mettre en
matplotlib.use('Agg')
premier dans l'ordre d'importation Python. Pour ce que je faisais (les tests unitaires devaient être sans tête), cela signifiaitimport matplotlib matplotlib.use('Agg')
en haut de mon script de test principal. Je n'ai eu à toucher à aucun autre fichier.
la source
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 .
la source
Les erreurs que vous avez publiées ne sont pas liées. Le premier est dû à la sélection d'un backend qui n'est pas destiné à une utilisation interactive, c'est-à-dire agg. Vous pouvez toujours utiliser (et devriez utiliser) ceux pour la génération de tracés dans des scripts qui ne nécessitent pas d'interaction de l'utilisateur.
Si vous voulez un environnement de laboratoire interactif, comme dans Matlab / Pylab, vous importerez évidemment un backend supportant l'utilisation de l'interface graphique, tel que Qt4Agg (nécessite Qt et AGG), GTKAgg (GTK un AGG) ou WXAgg (wxWidgets et Agg).
Je commencerais par essayer d'utiliser WXAgg, à part cela, cela dépend vraiment de la façon dont vous avez installé Python et matplotlib (source, package, etc.)
la source
Avant de démarrer python, vous pouvez faire en bash
la source
Vous pouvez également essayer de visualiser le graphique dans un navigateur.
Utilisez le suivant:
matplotlib.use('WebAgg')
la source
J'ai frappé ceci en essayant de compiler python, numpy, scipy, matplotlib dans mon propre VIRTUAL_ENV
Avant d'installer matplotlib, vous devez construire et installer: pygobject pycairo pygtk
Et puis faites-le avec matplotlib: Avant de construire matplotlib, vérifiez avec 'python ./setup.py build --help' si le backend 'gtkagg' est activé. Puis construisez et installez
Avant d'exporter PKG_CONFIG_PATH = $ VIRTUAL_ENV / lib / pkgconfig
la source
Pour les nouveaux arrivants,
la source