Soy nuevo usuario de matplotlib, mi plataforma es Ubuntu 10.04 Python 2.6.5
Este es mi codigo
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.plot([1,2,3])
El error es:
/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()))
- Instalé la biblioteca Anti-Grain Geometry
apt-get install libagg
pero no funciona. - Traté de usar otro argumento de backend como 'GTK' y 'TkAgg'.
- Instalé el
python-gtk2-dev
paquete, pero el error sigue apareciendo a continuación. - ¿Alguien puede decirme un argumento de backend ejecutable y su biblioteca de dependencias?
Aquí está el error:
>>> 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
usuario504909
fuente
fuente
Para su información, descubrí que necesitaba poner
matplotlib.use('Agg')
primero en el orden de importación de Python. Para lo que estaba haciendo (las pruebas unitarias debían ser sin cabeza) eso significaba ponerimport matplotlib matplotlib.use('Agg')
en la parte superior de mi script de prueba maestro. No tuve que tocar ningún otro archivo.
fuente
Esto también se puede configurar en el archivo de configuración
matplotlibrc
(como se explica en el mensaje de error), por ejemplo:# 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 esa forma, no es necesario codificar el backend si el código se comparte con otras personas. Para obtener más información, consulte la documentación .
fuente
Los errores que publicó no están relacionados. El primero se debe a que selecciona un backend que no está diseñado para uso interactivo, es decir, agg. Aún puede usar (y debe usar) aquellos para la generación de gráficos en scripts que no requieren la interacción del usuario.
Si desea un entorno de laboratorio interactivo, como en Matlab / Pylab, obviamente importaría un backend compatible con el uso de la interfaz gráfica de usuario, como Qt4Agg (necesita Qt y AGG), GTKAgg (GTK y AGG) o WXAgg (wxWidgets y Agg).
Comenzaría por intentar usar WXAgg, aparte de eso, realmente depende de cómo instaló Python y matplotlib (fuente, paquete, etc.)
fuente
Antes de iniciar Python, puedes hacerlo en bash
fuente
También puede intentar ver el gráfico en un navegador.
Utilice lo siguiente:
matplotlib.use('WebAgg')
fuente
Golpeé esto al intentar compilar python, numpy, scipy, matplotlib en mi propio VIRTUAL_ENV
Antes de instalar matplotlib, debe compilar e instalar: pygobject pycairo pygtk
Y luego hágalo con matplotlib: antes de construir matplotlib, verifique con 'python ./setup.py build --help' si el backend 'gtkagg' está habilitado. Luego construye e instala
Antes de exportar PKG_CONFIG_PATH = $ VIRTUAL_ENV / lib / pkgconfig
fuente
Para los recién llegados,
fuente