Matplotlib is hiring a Research Software Engineering Fellow! See discourse for details. Apply by January 3, 2020

Version 3.1.1
matplotlib
Fork me on GitHub

目录

Related Topics

安装

注解

如果你想为这个项目做贡献,建议你 install the latest development version .

安装正式版本

Matplotlib及其依赖项作为MacOS、Windows和Linux发行版的车轮包提供:

python -m pip install -U pip
python -m pip install -U matplotlib

注解

以下是现成的后端:agg、ps、pdf、svg和tkagg。

为了支持其他GUI框架、 Latex 渲染、保存动画和更大的文件格式选择,您可能需要安装 additional dependencies .

虽然不需要,但我们建议安装 IPython 供交互使用。要轻松安装完整的科学python堆栈,请参见 科学 Python 分布 下面。

macOS

要使用本机OSX后端,您需要 a framework build 用 Python 建造。

测试数据

轮子 (*.whlPyPI download page 不包含测试数据或示例代码。

如果您想尝试Matplotlib源代码分发中的许多演示,请下载 *.tar.gz 归档并查找 examples 子目录。

要运行测试套件:

  • 提取 lib/matplotlib/testslib/mpl_toolkits/tests 源分发目录;
  • 安装测试依赖项: pytest ,枕头,miktex,ghostscript,ffmpeg,avconv,imagemagick,和 Inkscape
  • 运行 python -mpytest .

Matplotlib的第三方分布

科学 Python 分布

AnacondaCanopyActiveState 对于Windows、MacOS和普通Linux平台来说,这是一个非常好的选择。 WinPython 是Windows用户的一个选项。所有这些分布都包括matplotlib和 lots 其他有用的(数据)科学工具。

Linux:使用包管理器

如果您使用的是Linux,那么您可能更喜欢使用包管理器。Matplotlib几乎为每个主要的Linux发行版打包。

  • Debian/Ubuntu: sudo apt-get install python3-matplotlib
  • Fedora: sudo dnf install python3-matplotlib
  • 红帽: sudo yum install python3-matplotlib
  • Arch: sudo pacman -S python-matplotlib

从源安装

如果您对Matplotlib开发、运行最新的源代码感兴趣,或者只是想自己构建所有东西,那么从源代码构建Matplotlib并不难。抓住最新 tar.gz 释放文件 the PyPI files page 或者,如果您想开发matplotlib或者只需要最新的bugfixed版本,那么就获取最新的git版本。 从源安装 .

标准环境变量 CCCXXPKG_CONFIG 受到尊重。这意味着您可以在您的工具链前面设置它们。这可以用于交叉编译。::

export CC=x86_64-pc-linux-gnu-gcc
export CXX=x86_64-pc-linux-gnu-g++
export PKG_CONFIG=x86_64-pc-linux-gnu-pkg-config

一旦满足了下面详细的需求(主要是python、numpy、libpng和freetype),就可以构建matplotlib。::

cd matplotlib
python -mpip install .

我们提供了一个 setup.cfg 可用于自定义生成过程的文件。例如,要使用哪个默认后端,Matplotlib附带的一些可选库是否已安装,等等。这个文件对于那些打包Matplotlib特别有用。

如果您在非标准位置安装了先决条件,并且需要通知Matplotlib它们在哪里,请编辑 setupext.py 并将基目录添加到 basedir 您的词典条目 sys.platform ;例如,如果某个所需库的头在 /some/path/include/someheader.h/some/pathbasedir 平台列表。

依赖关系

Matplotlib需要以下依赖项:

或者,您也可以安装许多软件包以启用更好的用户界面工具包。见 什么是后端? 有关可选matplotlib后端及其提供的功能的更多详细信息。

  • tk (>8.3)=8.6.0或8.6.1):用于基于TK的后端;
  • PyQt4 (>4.6)或 PySide (>=1.0.3):对于基于qt4的后端;
  • PyQt5: 对于基于qt5的后端;
  • PyGObjectpgi (>=0.0.11.2):用于基于GTK3的后端;
  • wxpython (大于等于4):用于基于WX的后端;
  • cairocffi (>0.8)或 pycairo :用于基于开罗的后端;
  • Tornado: 对于webagg后端;

为了更好地支持动画输出格式和图像文件格式、 Latex 等,可以安装以下内容:

注解

matplotlib依赖于非python库。 pkg-config 可用于查找所需的非python库,从而使安装更加顺利,如果库和头不在预期的位置。

注解

以下库随Matplotlib一起提供:

  • Agg 反粒度几何C++渲染引擎;
  • qhull :计算Delaunay三角测量;
  • ttconv :TrueType字体实用程序。

在Linux上构建

使用系统包管理器安装依赖项最简单。

如果您在debian/ubuntu上,那么可以获得构建matplotlib所需的所有依赖项::

sudo apt-get build-dep python-matplotlib

如果您使用的是Fedora,那么您可以获得构建Matplotlib所需的所有依赖项::

sudo dnf builddep python-matplotlib

如果您使用的是RedHat,则可以通过首先安装来获取构建Matplotlib所需的所有依赖项。 yum-builddep 然后跑步:

su -c "yum-builddep python-matplotlib"

这些命令不构建matplotlib,而是获取并安装构建依赖项,这将使从源代码构建更容易。

建立在MacOS上

MacOS上的构建情况因人们可以获得libpng和freetype需求(macports、fink、/usr/x11r6)、不同的架构(例如x86、ppc、universal)和不同的MacOS版本(例如10.4和10.5)而变得复杂。我们建议您按照我们为MacOS版本所做的方式构建:从tarball或git存储库获取源代码,并通过第三方包管理器安装所需的依赖项。两个广泛使用的包管理器是自制的和MacPorts。下面的示例说明如何使用 brew ::

brew install libpng freetype pkg-config

如果您使用的是MacPorts,请改为执行以下操作:

port install libpng freetype pkgconfig

安装上述要求后,通过执行以下操作从源位置安装matplotlib::

python -mpip install .

请注意,您的环境有些重要。一些Conda用户发现,要运行测试,他们的pythonpath必须包括/path/to/anaconda/…/site包,他们的dyld_fallback_library_path必须包括/path/to/anaconda/lib。

在窗户上建造

来自https://www.python.org的python是用Visual Studio 2015为3.5+编译的。python扩展应该使用相同的编译器进行编译,请参见https://packaging.python.org/guides/packaging binary extensions/setting-up-a-build-environment-on-windows了解如何设置构建环境。

由于没有规范的Windows包管理器,因此从源代码构建freetype、zlib和libpng的方法在中记录为构建脚本 matplotlib-winbuild .

在Windows上构建Matplotlib有几种可能性:

  • 车轮通过 matplotlib-winbuild
  • 使用Conda软件包的车轮(见下文)
  • 康达包装(见下文)

使用Conda软件包构建车轮

这是一个车轮制造,但我们使用Conda软件包来获得所有的要求。二进制需求(png,freetype,…)是静态链接的,因此在车轮安装期间不需要。

设置Conda环境。注意,如果需要qt后端,请添加 pyqt Conda包列表。

conda create -n "matplotlib_build" python=3.7 numpy python-dateutil pyparsing tornado cycler tk libpng zlib freetype msinttypes
conda activate matplotlib_build

对于构建,调用脚本 build_alllocal.cmd 在存储库的根文件夹中::

build_alllocal.cmd

Conda包

Matplotlib的Conda打包脚本可从https://github.com/conda-forge/python-feedum获得。