¿Cómo puedo configurar el ‘backend’ en matplotlib en Python?

Soy un 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.
  • Intenté usar otro argumento de backend como ‘GTK’ y ‘TkAgg’.
  • Instalé el paquete python-gtk2-dev , pero el error sigue siendo el siguiente.
  • ¿Puede alguien 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 "", line 1, in  File "/usr/local/lib/python2.6/dist-packages/matplotlib/pyplot.py", line 95, in  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  from matplotlib.backends.backend_gdk import RendererGDK, FigureCanvasGDK File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/backend_gdk.py", line 29, in  from matplotlib.backends._backend_gdk import pixbuf_get_pixels_array ImportError: No module named _backend_gdk 

El backend seleccionado actualmente, ‘agg’ no es compatible con show ().

AGG backend de AGG es para escribir en un archivo, no para renderizar en una ventana. Consulte las preguntas más frecuentes del backend en el sitio web de matplotlib.

ImportError: ningún módulo llamado _backend_gdk

Para el segundo error, tal vez su distribución matplotlib no esté comstackda con el soporte de GTK, o se pierda el paquete PyGTK. Intenta instalarlo.

¿Llamas al método show() dentro de un terminal o aplicación que tiene acceso a un entorno gráfico?

Pruebe otros backends GUI, en este orden:

  • TkAgg
  • WX
  • QTAgg
  • QT4Agg

Para su información, encontré que necesitaba poner matplotlib.use('Agg') primero en el orden de importación de Python. Por lo que estaba haciendo (las pruebas de unidad debían ser sin cabeza) eso significaba poner

 import matplotlib matplotlib.use('Agg') 

en la parte superior de mi script de prueba maestro. No tuve que tocar ningún otro archivo.

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 manera, el backend no necesita estar codificado de manera rígida si el código se comparte con otras personas. Para más información, consulte la documentación .

Los errores que has publicado no están relacionados. La primera se debe a que seleccionó 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 gui, como Qt4Agg (necesita Qt y AGG), GTKAgg (GTK y AGG) o WXAgg (wxWidgets y Agg).

Comenzaría intentando usar WXAgg, aparte de eso, realmente depende de cómo instaló Python y matplotlib (fuente, paquete, etc.)

Golpeé esto al intentar comstackr python, numpy, scipy, matplotlib en mi propio VIRTUAL_ENV

Antes de instalar matplotlib tienes que construir e instalar: pygobject pycairo pygtk

Y luego hazlo con matplotlib: antes de comstackr matplotlib, comprueba 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

Antes de iniciar python, puedes hacerlo en bash.

 export MPLBACKEND=TkAgg