http://blog.csdn.net/sharkw/article/details/1924949
Matplotlib 安装
安装Matplotlib 模块需要已经安装Python2.3(或以上),numpy,freetype和libpng。为了充分利用Matplotlib,你可能希望使用GUI接口和图形扩展,这些我们在下面讨论。Matplotlib已经测试可以在 Linux,Unix,Win32和OS X平台上使用。
有两种Matplotlib后端(backend)可以使用:基于向量的和基于点阵的。基于向量的后端,SVG和PS,产生纯ASCII文本文件输出:*.svg和*.ps;PDF后端产生一个二进制的*.pdf文件。基于点阵的后端响应使用antigrain(agg)后端。这是一个高质量的支持antialiasing(反锯齿现象)和alpha blending以及更多特性的2D图形库。如果你希望生成支持所有Matplotlib特性的PNGs和GUI图像,你需要加入agg支持编译Matplotlib并且使用以下几种GUI agg后端之一:GTKAgg,WXAgg,TkAgg或者FLTKAgg。所有这些特性都包含在Windows安装程序之中。
编译
你不用编译Matplotlib除非你希望或者正在在一个不明确的平台上工作。Windows,OS X和大多数Linux平台的二进制安装程序都有下载,请参口下面章节。如果你确实希望编译Matplotlib,请继续往下读。
在你的系统上需要安装有freetype,libpng和zlib的最近版本。如果你使用包管理器,也要确定安装了这些报的devel版本(比如:freetype-devel)。
Matplotlib的分发包中包含了一个setup.cfg.template文件,你可以使用它来定制编译过程。复制这个文件为setup.cfg如果你需要定制的话。请参考你可以设置的文件和参数。
如果你希望使用一个GUI后端,在你的系统上需要安装有Tkinter,pygtk,wxPython或者Qt之一,如果是从源文件或者包管理器的话要包括devel包。你可以通过在setup.cfg文件中设置标记(enable)来选择使用哪一个后端,但是默认自动检测你系统上安装的GUI后端并且编译相应的支持。如果之后你发现起初编译Matplotlib是系统上没有安装像pygtk这样的GUI工具包,但是现在希望使用它,你需要安装相应的工具包并重新编译Matplotlib。
如果你已经非独立地安装了这些工具包,并且希望告诉Matplotlib它们的位置,编辑setupext.py,为你的sys.platform增加一个base dir项目到‘basedir’条目中。例如:如果某些必库所需的头文件在 /some/path/include/somheader.h,请把 /some/path 加入到你的系统的basedir列表。
python setup.py build
python setup.py install
在matplotlibrc文件中你可以更改许多Matplotlib的默认选项。
Windows
如果你还没有安装Python,你可以考虑使用enthought版本的Python,它已经预先安装了numpy,scipy和wxpython,还有其他许多有用的组件(goodies)——enthought python。使用enthought版本的python+matplotlib安装程序,以下的后端应该可以正常使用了:agg,wx,wxagg,tkagg,ps和svg。
对于安装的标准版本python,除了安装matplotlib你还需要安装numpy模块。在某些系统上,你可能还需要下载msvcp1.dll库。下载这个档案,解压后把它拖到c:/windows/system32目录中。对于标准版本的python+numpy+matplotlib安装,以下后端应该可以在Windows上工作了:agg,tkagg,ps,pdf和svg。如果你还需要其他后端,比如wx,wxagg,gtk,或者gtkagg,你需要安装必须的相应GUI工具包,比如wxPython。所有这些GUI后端都可以在windows上运行,但是TkAgg可能是最适合从标准的python或者ipython中做交互使用的。在下载页面上的Windows上的安装程序(*.exe或者*.egg)包括了配置和运行需要的所有代码。然而,还有许多的examples没有被包含在windows的安装程序中。如果你希望运行这许多的虽Matplotlib一起分发的演示教程(demos),请下载这个zip文件并查看subdir子目录。
重要提示:已经发现了Matplotlib和某些python IDEs的后端存在冲突:pycrust,idle。如果你希望从IDE中使用Matplotlib,请参考后端兼容性信息。你很可能发现能够从交互环境下运行演示教程而不是从IDE环境中。如果你交互式的创建曲线(plot),最好的后端是标准版本的Python Shell或ipython自带的TkAgg。
OS X
所有的后端都可以运行在OS X上。我们为OS X编译了通用的二进制eggs,无论对于intel架构还是PPC架构,它们应该都可以运行在Tiger(10.4)和Leopard(10.5)上,你可以在这里得到它。如果你有兴趣编译你自己的二进制文件,请查阅这里的编译参考。如果你希望自己在OS X平台上从svn编译,请确定你已经阅读了上面的编译指导。有一个wiki页面介绍了如何在OS X平台上编译matplotlib(以及其他python科学计算工具包):InstallationOSX。
请注意当你在OS X上运行GUI后端时,你应该使用pythonw而不是python来加载你的程序,否则你将会得到一个没有回应的GUI。
Package Managers:(rpms,apt,fink)
RPMS
为了在一个像redhat这样的二进制linux版本上编译所有的后端,你需要安装一系列的devel库(还有它们依赖的所有其它库),我想可能包括:
<!--[if !supportLists]-->· Matplotlib core:zlib,zlib-devel,libpng,libpng-delvel,freetype,freetype-devel,freetype-utils<!--[endif]-->
<!--[if !supportLists]-->· gtk/gtkagg backend: gtk2-devel, gtk+-devel, pygtk2, glib-devel, pygtk2-devel, gnome-libs-devel, pygtk2-libglade<!--[endif]-->
<!--[if !supportLists]-->· tk backend: tcl, tk, tkinter<!--[endif]-->
<!--[if !supportLists]-->· wx/wxagg backends - the wxpython rpms from wxpython<!--[endif]-->
Debian
Vittorio Palmisano维护着Debian包
<!--[if !supportLists]-->l 添加这些行到你的 /etc/apt/sources.list:<!--[endif]-->
<!--[if !supportLists]-->· deb http://anakonda.altervista.org/debian packages/<!--[endif]-->
<!--[if !supportLists]-->· deb-src http://anakonda.altervista.org/debian sources/<!--[endif]-->
<!--[if !supportLists]-->l 然后运行:<!--[endif]-->
<!--[if !supportLists]-->· #apt-get update<!--[endif]-->
<!--[if !supportLists]-->· #apt-get install python-matplotlib pythn-matplotlib-doc<!--[endif]-->
Fink
Fink用户应该使用Jeffrey Whitaker的Fink分发包,这个分发支持GTK,TkAgg,GTKAgg,PS,WX,WXAgg和Agg后端。请查阅matplotlib fink。