@header@

Installing matplotlib

matplotlib requires python 2.2+ and Numeric or numarray. If these dependencies are satisfied, just do the usual thing:

  > python setup.py install
  
Matplotlib is known to work on several linux, win32 and OS X platforms; it should run anywhere that python and Numeric run. To get the most out of matplotlib, you will probably want to install one or more of the additional backends, which provide output to various GUI and image rendering libraries. Each of these has different prerequistes and strengths; see which backend should I use?.

With the windows installer, the postscript, Agg and TkAgg backends should work out of the box if you have Numeric/numarray already installed. For other backends (WX, Paint) and operating systems, follow the instructions below and on matplotlib backends.

Note that if you install matplotlib anywhere other than the default location, you will need to set the MATPLOTLIBDATA environment variable to point to the install base dir.

Windows

If you don't already have python installed, you may want to consider using the enthought edition of python, which has scipy, Numeric, and wxpython, plus a lot of other goodies, preinstalled.

If you have Numeric or numarray on your system, matplotlib will work out of the box on windows. All of the GUI backends run on windows, but TkAgg is probably the best one to use since it requires no other libraries and has the best support for interactive use with the standard python shell. If you are using the enthought edition of python, the WXAgg backend will also work out of the box.

The windows installer *.exe on the download page contains all the code you need to get up and tunning. But if you want to try the many demos that come in the matplotlib src distribution, download the zip file and look in the examples subdir. Important: There are known conflicts with some of the backends with some python IDEs such as pycrust, idle. If you want to use matplotlib from an IDE, please consult the backends documentation for compatibility information. You will have the greatest likelihood of success if you run the examples from the command shell or by double clicking on them, rather than from an IDE. If you are interactively generating plots, your best bet is TkAgg from the standard python shell.

Linux

The GTK backend was the first and thus arguably most mature backend and is a great choice for linux. All of the backends, however, run on linux. To use GTK or GTKAgg, you need to have GNOME 2 and at least pygtk-1.99.16 installed. Don't assume that because you are running redhat 9 that you have the latest libs. Redhat 8 and 9 come with the GNOME2, but you will still need to upgrade to at least pygtk-1.99.16. The latest version (currently 2.0.0) is recommended. I don't have specific information about the other linux distributions.

To build all the backends on a binary linux distro such as redhat, you need to install a number of the devel libs (and whatever dependencies they require), I suggest
matplotlib core zlib, zlib-devel, libpng, libpng-devel, freetype, freetype-devel, freetype-utils
gtk backendgtk2-devel, gtk+-devel, pygtk2, glib-devel, pygtk2-devel, gnome-libs-devel, pygtk2-libglade
tk backendtcl, tk, tkinter
Edit setup.py to configure the backends you want to build and then do python setup.py build.

Debian

Vittorio Palmisano posted this message to matplotlib-devel
  Hello,

  I've made a Debian package for matplotlib and I've put it at:
  http://anakonda.altervista.org/debian/

  I've read some specification for dependencies from
  http://bugs.debian.org/206691, this is my first package and so there
  are some (many?) things to fix.  I think that the package may also
  include the api documentation generated with pydoc.  

OS X

All of the backends run on OS X. You will need to install freetype2 via fink or from src. You will also need the base libraries for a given backend. Eg, if you want to run TkAgg, you will need a python with Tkinter; if you want to use WxAgg, install wxpython. See backends for a more comprehensive discussion of the various backend requirements. Edit setup.py to configure the backends you want to build and then do python setup.py build. @footer@