pyplot legends font example python linux graphics matplotlib

python - legends - matplotlib title position



¿Cómo puedo configurar el ''back-end'' en matplotlib en Python? (5)

Su backend seleccionado actualmente, ''agg'' no admite show ().

AGG backend de AGG es para escribir en un archivo, no para renderizarlo en una ventana. Consulte las preguntas frecuentes de back-end 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é compilada con soporte 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

Soy nuevo usuario de matplotlib, mi plataforma es Ubuntu 10.04 Python 2.6.5

Este es mi código

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 de Geometría Anti-Grain apt-get install libagg pero no funciona.
  • Intenté usar otro argumento de backend como ''GTK'' y ''TkAgg''.
  • Instalé el paquete python-gtk2-dev , pero aún así el error está debajo.
  • ¿Alguien puede decirme un argumento de backend ejecutable y su biblioteca de dependencia?

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


Esto también se puede establecer 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 esta forma, el servidor no necesita estar codificado si el código se comparte con otras personas. Para obtener más información, consulte la documentation .


FYI, descubrí que necesitaba poner matplotlib.use(''Agg'') primero en el orden de importación de Python. Por lo que estaba haciendo (las pruebas unitarias debían ser sin cabeza) eso significaba poner

import matplotlib matplotlib.use(''Agg'')

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


Llegué a esto cuando trato de compilar python, numpy, scipy, matplotlib en mi propio VIRTUAL_ENV

Antes de instalar matplotlib, debe compilar e instalar: pygobject pycairo pygtk

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


Los errores que publicaste no están relacionados. El primero se debe a que usted selecciona un backend que no es para uso interactivo, es decir, agg. Todavía puede usar (y debería usar) aquellos para la generación de parcelas 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 que soporte 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 tratando de usar WXAgg, aparte de eso, realmente depende de cómo instaló Python y matplotlib (fuente, paquete, etc.)