Come posso impostare il 'backend' in matplotlib in Python?



Answers

Questo può anche essere impostato nel file di configurazione matplotlibrc (come spiegato nel messaggio di errore), ad esempio:

# 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

In questo modo, il back-end non deve essere hardcoded se il codice è condiviso con altre persone. Per ulteriori informazioni, consultare la documentation .

Question

Sono un nuovo utente di matplotlib, la mia piattaforma è Ubuntu 10.04 Python 2.6.5

Questo è il mio codice

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt 
plt.plot([1,2,3])

L'errore è:

/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()))
  • Ho installato la libreria Anti-Grain Geometry apt-get install libagg ma non funziona.
  • Ho provato ad usare altri argomenti di backend come "GTK" e "TkAgg".
  • Ho installato il pacchetto python-gtk2-dev , ma l'errore è ancora sotto.
  • Qualcuno può dirmi un argomento backend eseguibile e la sua libreria delle dipendenze?

Ecco l'errore:

>>> 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



Gli errori che hai postato non sono correlati. Il primo è dovuto alla selezione di un back-end che non è pensato per l'uso interattivo, es. È comunque possibile utilizzare (e utilizzare) quelli per la generazione di grafici negli script che non richiedono l'interazione dell'utente.

Se vuoi un ambiente di laboratorio interattivo, come in Matlab / Pylab, devi ovviamente importare un backend che supporti l'uso di gui, come Qt4Agg (ha bisogno di Qt e AGG), GTKAgg (GTK an AGG) o WXAgg (wxWidgets e Agg).

Comincerei cercando di usare WXAgg, a parte questo dipende molto da come hai installato Python e matplotlib (fonte, pacchetto ecc.)






Related