安装#

安装官方发布版本#

Matplotlib 的发布版本作为 wheel 包适用于 macOS、Windows 和 Linux,可在 PyPI 上获取。使用 pip 安装它:

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

如果此命令导致从源代码编译 Matplotlib 并且编译过程中出现问题,您可以添加 --prefer-binary 以选择您的操作系统和 Python 的预编译 wheel 的最新版本的 Matplotlib。

备注

以下后端可以直接使用:Agg、ps、pdf、svg

Python 通常附带了 tk 绑定,这些绑定被 TkAgg 使用。

对于其他GUI框架的支持、LaTeX渲染、保存动画以及更多文件格式的选择,您可以安装 可选依赖项

第三方发行版#

各种第三方为他们的环境提供了 Matplotlib。

Conda 包#

Matplotlib 可以通过 anaconda 主频道 获得

conda install matplotlib

以及通过 conda-forge 社区频道

conda install -c conda-forge matplotlib

Python 发行版#

Matplotlib 是主要 Python 发行版的一部分:

Linux 包管理器#

如果你使用的是随Linux发行版一起提供的Python版本,你可以通过包管理器安装Matplotlib,例如:

  • 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 在 scientific-python-nightly-wheels Anaconda Cloud 组织 上提供了夜间开发构建的轮子。这些轮子可以通过指定 scientific-python-nightly-wheels 作为包索引来使用 pip 安装:

python -m pip install \
  --upgrade \
  --pre \
  --index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple \
  --extra-index-url https://pypi.org/simple \
  matplotlib

从源代码安装#

安装用于开发

如果您想为 Matplotlib 做出贡献,或者需要安装最新的开发代码,请按照 设置 Matplotlib 进行开发 中的说明进行操作。

以下说明适用于从源代码安装以用于生产环境。通常*不*推荐这样做;请尽可能使用预构建的包。请谨慎操作,因为这些说明可能会导致您的构建产生意外行为,并/或导致本地测试失败。

在尝试安装 Matplotlib 之前,请先安装 依赖项

要从tarball构建,请从 PyPI文件页面 下载最新的 tar.gz 发布文件。

如果你在Windows上构建自己的Matplotlib轮子(或源码包),请注意,你复制到源码树中的任何DLL文件也会被打包。

配置构建和行为默认值#

我们提供了一个 meson.options 文件,其中包含了一些选项,您可以使用这些选项来自定义构建过程。例如,选择默认的后端,是否安装 Matplotlib 附带的一些可选库等。这些选项对那些打包 Matplotlib 的人来说特别有用。

可以通过以下方式配置库的一些行为默认值的方面:

默认的绘图外观和行为可以通过 rcParams 文件 进行配置

依赖项#

如果使用 pipconda 等包管理器安装 Matplotlib,强制依赖项应自动安装;因此,此列表主要用于参考和故障排除。

常见问题#

报告编译问题#

参见 获取帮助

Matplotlib 编译正常,但当我使用它时什么都没有显示#

首先要尝试的是进行 全新安装 ,看看是否有所帮助。如果没有,测试安装的最佳方式是运行一个脚本,而不是从 Python shell 或集成开发环境(如 IDLE)中交互式工作,因为这些会增加额外的复杂性。打开一个 UNIX shell 或 DOS 命令提示符,然后运行,例如:

python -c "from pylab import *; set_loglevel('debug'); plot(); show()"

这将为你提供关于 Matplotlib 正在加载哪些后端的额外信息、版本信息等。此时,你可能需要确保你理解 Matplotlib 的 配置 过程,该过程由 matplotlibrc 配置文件控制,该文件包含内部指令和 Matplotlib 后端的概念。

如果你仍然遇到问题,请参阅 报告问题

如何完全移除 Matplotlib#

偶尔,Matplotlib 的问题可以通过清理安装包来解决。为了完全移除一个已安装的 Matplotlib:

  1. 从您的 Matplotlib 配置目录 中删除缓存。

  2. 从您的 安装目录 中删除任何 Matplotlib 目录或 eggs。

macOS 笔记#

macOS 使用哪个 Python?#

Apple 在 /usr/bin/python 中自带了 macOS 和它自己的 Matplotlib 副本。不幸的是,Apple 当前安装其 NumPy、Scipy 和 Matplotlib 副本的方式意味着这些包很难升级(参见 系统 Python 包)。因此,我们强烈建议您安装一个全新的 Python 版本,并以此为基础来安装诸如 NumPy 和 Matplotlib 等库。一种方便的方法是使用 Anaconda Python 科学软件集合来安装 Matplotlib 和其他有用的 Python 软件,该集合包括 Python 本身和一系列库;如果您需要一个集合中没有的库,您可以使用 pip 等标准方法自行安装。有关安装支持,请参阅 Anaconda 网页。

其他安装新 Python 的选项包括从 python.org 下载的标准安装程序,或者使用 macOS 通用包管理系统如 homebrewmacports 安装 Python。macOS 上的高级用户可能会希望在系统中安装 homebrew 或 macports 来安装开源软件包,但完全有可能使用这些系统与另一个 Python 二进制文件源(如 Anaconda 或 Python.org Python)一起使用。

安装 macOS 二进制轮#

如果你从 https://www.python.org、Homebrew 或 Macports 使用 Python,那么你可以使用标准的 pip 安装程序来安装 Matplotlib 的二进制文件,形式为 wheel。

pip 默认随 python.org 和 Homebrew Python 一起安装,但在 Macports 上需要手动安装,使用

sudo port install py38-pip

一旦安装了 pip,你就可以从 Terminal.app 命令行安装 Matplotlib 及其所有依赖项:

python3 -m pip install matplotlib

您可能还希望安装 IPython 或 Jupyter notebook(python3 -m pip install ipython notebook)。

检查您的安装#

新版本的 Matplotlib 现在应该在你的 Python "路径" 上。请在 Terminal.app 命令行中检查这一点:

python3 -c 'import matplotlib; print(matplotlib.__version__, matplotlib.__file__)'

你应该会看到类似

3.10.0 /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/matplotlib/__init__.py

其中 3.10.0 是你刚刚安装的 Matplotlib 版本,路径的后续部分取决于你使用的是 Python.org Python、Homebrew 还是 Macports。如果你看到另一个版本,或者遇到类似以下的错误:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named matplotlib

然后通过运行以下命令检查Python二进制文件是否是你所期望的:

which python3

如果你得到类似 /usr/bin/python... 的结果,那么你正在使用 macOS 自带的 Python,这可能不是你想要的。尝试在再次运行检查之前关闭并重新启动 Terminal.app。如果这不能解决问题,根据你想要使用的 Python 版本,考虑重新安装 Python.org 的 Python,或者检查你的 homebrew 或 macports 设置。请记住,磁盘映像安装程序仅适用于 Python.org 的 Python,不会被其他 Python 识别。如果所有这些方法都失败了,请 告诉我们

故障排除#

获取 Matplotlib 版本#

要查找您的 Matplotlib 版本号,请导入它并打印 __version__ 属性:

>>> import matplotlib
>>> matplotlib.__version__
'0.98.0'

matplotlib 安装位置#

你可以通过导入 Matplotlib 并打印 __file__ 属性来找到它安装的目录:

>>> import matplotlib
>>> matplotlib.__file__
'/home/jdhunter/dev/lib64/python2.5/site-packages/matplotlib/__init__.pyc'

matplotlib 配置和缓存目录位置#

每个用户都有一个 Matplotlib 配置目录,其中可能包含一个 matplotlibrc 文件。要找到您的 matplotlib/ 配置目录,请使用 matplotlib.get_configdir():

>>> import matplotlib as mpl
>>> mpl.get_configdir()
'/home/darren/.config/matplotlib'

在类Unix系统上,此目录通常位于您的 HOME 目录下的 .config/ 目录中。

此外,用户有一个缓存目录。在类Unix系统上,默认情况下,这与配置目录是分开的。要找到您的 .cache/ 目录,请使用 matplotlib.get_cachedir():

>>> import matplotlib as mpl
>>> mpl.get_cachedir()
'/home/darren/.cache/matplotlib'

在Windows上,配置目录和缓存目录是相同的,默认情况下位于您的 Documents and SettingsUsers 目录中:

>>> import matplotlib as mpl
>>> mpl.get_configdir()
'C:\\Documents and Settings\\jdhunter\\.matplotlib'
>>> mpl.get_cachedir()
'C:\\Documents and Settings\\jdhunter\\.matplotlib'

如果你想使用不同的配置目录,可以通过在你的 MPLCONFIGDIR 环境变量中指定位置来实现 -- 参见 设置-linux-macos-环境变量。注意,MPLCONFIGDIR 设置了配置目录和缓存目录的位置。