I am new user of matplotlib, my platform is Ubuntu 10.04 Python 2.6.5
This is my code
import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt plt.plot([1,2,3])
The error is:
/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()))
apt-get install libaggbut it is doesn't work.
python-gtk2-devpackage, but still the error is below.
Here is the 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
Your currently selected backend, 'agg' does not support show().
AGG backend is for writing to file, not for rendering in a window. See the backend FAQ at the matplotlib web site.
ImportError: No module named _backend_gdk
For the second error, maybe your matplotlib distribution is not compiled with GTK support, or you miss the PyGTK package. Try to install it.
Do you call the
show() method inside a terminal or application that has access to a graphical environment?
Try other GUI backends, in this order:
FYI, I found I needed to put
matplotlib.use('Agg') first in Python import order. For what I was doing (unit testing needed to be headless) that meant putting
import matplotlib matplotlib.use('Agg')
at the top of my master test script. I didn't have to touch any other files.