matplotlib#

一个面向对象的绘图库。

配套的 pyplot 模块提供了一个程序接口,可以直接导入,例如:

import matplotlib.pyplot as plt

或使用 ipython:

ipython

在您的终端上,然后是:

In [1]: %matplotlib
In [2]: import matplotlib.pyplot as plt

在 ipython shell 提示符下。

在大多数情况下,鼓励在编程时直接使用显式的面向对象库。隐式 pyplot 接口主要用于交互工作。这个建议的例外是 pyplot 函数pyplot.figurepyplot.subplotpyplot.subplotspyplot.savefig,它们可以大大简化脚本。有关隐式和显式接口之间权衡的解释,请参阅 Matplotlib 应用程序接口 (API)

模块包括:

matplotlib.axes

Axes班级。大多数 pyplot 函数都是 Axes方法的包装器。轴模块是对库的最高级别的 OO 访问。

matplotlib.figure

Figure班级。

matplotlib.artist

所有绘制事物的类的Artist基类。

matplotlib.lines

Line2D用于绘制线条和标记的类。

matplotlib.patches

用于绘制多边形的类。

matplotlib.text

TextAnnotation

matplotlib.image

AxesImageFigureImage

matplotlib.collections

用于有效绘制线组或多边形组的类。

matplotlib.colors

颜色规格和制作颜色图。

matplotlib.cm

Colormaps,以及ScalarMappable为其他类提供颜色映射功能的 mixin 类。

matplotlib.ticker

刻度线位置的计算和刻度线标签的格式。

matplotlib.backends

一个包含用于各种 GUI 库和输出格式的模块的子包。

基本 matplotlib 命名空间包括:

rcParams

默认配置设置;可以使用matplotlibrc文件覆盖它们的默认值。

use

设置 Matplotlib 后端。这应该在创建任何图形之前调用,因为之后无法在不同的 GUI 后端之间切换。

Matplotlib 最初由 John D. Hunter (1968-2012) 编写,现在由许多其他人开发和维护。

有时,内部文档(python 文档字符串)会引用 MATLAB®,这是 The MathWorks, Inc. 的注册商标。

后台管理#

matplotlib。使用( backend , * , force = True ) [来源] #

选择用于渲染和 GUI 集成的后端。

参数
后端字符串

要切换到的后端。这可以是标准后端名称之一,不区分大小写:

  • 交互式后端:GTK3Agg、GTK3Cairo、GTK4Agg、GTK4Cairo、MacOSX、nbAgg、QtAgg、QtCairo、TkAgg、TkCairo、WebAgg、WX、WXAgg、WXCairo、Qt5Agg、Qt5Cairo

  • 非交互式后端:agg、cairo、pdf、pgf、ps、svg、模板

或以下形式的字符串:module://my.module.name.

如果已经启动了不相关的事件循环(例如,如果 TkAgg 窗口已经打开,则切换到 GTK3Agg)是不可能切换到交互式后端的。始终可以切换到非交互式后端。

强制布尔,默认值:True

如果为 True (默认),ImportError如果后端无法设置(因为它无法导入,或者因为不兼容的 GUI 交互框架已经在运行),则引发一个;如果为 False,则默默地忽略失败。

也可以看看

后端
matplotlib.get_backend
matplotlib。get_backend ( ) [来源] #

返回当前后端的名称。

也可以看看

matplotlib.use
matplotlib。交互式( b ) [来源] #

设置是否在每个绘图命令后重绘(例如pyplot.xlabel)。

matplotlib。is_interactive ( ) [来源] #

返回是否在每个绘图命令后重绘。

笔记

此函数仅用于后端。最终用户应pyplot.isinteractive改为使用。

默认值和样式#

matplotlib。rcParams [来源] #

RcParams用于处理默认 Matplotlib 值的实例。

matplotlib。RcParams ( * args , ** kwargs ) [来源] #

一个字典对象,包括验证。

验证函数在 matplotlib.rcsetup.

rcParams 的列表是:

  • _internal.classic_mode

  • agg.path.chunksize

  • 动画.比特率

  • 动画编解码器

  • 动画.convert_args

  • 动画.convert_path

  • 动画.embed_limit

  • 动画.ffmpeg_args

  • 动画.ffmpeg_path

  • 动画.frame_format

  • 动画.html

  • 动画作家

  • axes.autolimit_mode

  • axes.axisbelow

  • 轴.edgecolor

  • 轴.facecolor

  • axes.formatter.limits

  • axes.formatter.min_exponent

  • axes.formatter.offset_threshold

  • axes.formatter.use_locale

  • axes.formatter.use_mathtext

  • axes.formatter.useoffset

  • 坐标轴网格

  • 轴.grid.axis

  • axes.grid.which

  • 轴.labelcolor

  • 轴.labelpad

  • 轴.标签大小

  • 轴标签权重

  • 轴.线宽

  • axes.prop_cycle

  • axes.spines.bottom

  • 轴.spines.left

  • axes.spines.right

  • 轴.spines.top

  • 轴.titlecolor

  • 轴.titlelocation

  • 轴.titlepad

  • 轴.titlesize

  • 轴.titleweight

  • 轴.titley

  • axes.unicode_minus

  • 轴.xmargin

  • 轴.ymargin

  • 轴.zmargin

  • 轴3d.grid

  • 后端

  • backend_fallback

  • boxplot.bootstrap

  • boxplot.boxprops.color

  • boxplot.boxprops.linestyle

  • boxplot.boxprops.linewidth

  • boxplot.capprops.color

  • boxplot.capprops.linestyle

  • boxplot.capprops.linewidth

  • boxplot.flyerprops.color

  • boxplot.flyerprops.linestyle

  • boxplot.flyerprops.linewidth

  • boxplot.flyerprops.marker

  • boxplot.flyerprops.markeredgecolor

  • boxplot.flyerprops.markeredgewidth

  • boxplot.flyerprops.markerfacecolor

  • boxplot.flyerprops.markersize

  • 箱线图.meanline

  • boxplot.meanprops.color

  • boxplot.meanprops.linestyle

  • boxplot.meanprops.linewidth

  • boxplot.meanprops.marker

  • boxplot.meanprops.markeredgecolor

  • boxplot.meanprops.markerfacecolor

  • boxplot.meanprops.markersize

  • boxplot.medianprops.color

  • boxplot.medianprops.linestyle

  • boxplot.medianprops.linewidth

  • 箱线图.notch

  • boxplot.patchartist

  • boxplot.showbox

  • boxplot.showcaps

  • boxplot.showflyers

  • boxplot.showmeans

  • 箱线图.vertical

  • boxplot.whiskerprops.color

  • boxplot.whiskerprops.linestyle

  • boxplot.whiskerprops.linewidth

  • boxplot.whiskers

  • 轮廓算法

  • 轮廓.corner_mask

  • 轮廓线宽

  • 轮廓.negative_linestyle

  • date.autoformatter.day

  • date.autoformatter.hour

  • date.autoformatter.microsecond

  • date.autoformatter.minute

  • date.autoformatter.month

  • date.autoformatter.second

  • date.autoformatter.year

  • 日期转换器

  • 日期.epoch

  • date.interval_multiples

  • 文档字符串.硬拷贝

  • errorbar.capsize

  • 图.自动布局

  • figure.constrained_layout.h_pad

  • figure.constrained_layout.hspace

  • figure.constrained_layout.use

  • figure.constrained_layout.w_pad

  • figure.constrained_layout.wspace

  • 图.dpi

  • 图.edgecolor

  • figure.facecolor

  • 图.figsize

  • 图.frameon

  • 图.labelsize

  • 图.labelweight

  • 图.max_open_warning

  • 图.raise_window

  • 图.subplot.bottom

  • 图.subplot.hspace

  • 图.subplot.left

  • 图.subplot.right

  • 图.subplot.top

  • 图.subplot.wspace

  • 图.titlesize

  • 图.titleweight

  • 字体草书

  • 字体系列

  • 字体.fantasy

  • 字体.等宽

  • 无衬线字体

  • 字体.serif

  • 字体大小

  • 字体拉伸

  • 字体样式

  • 字体变体

  • 字体重量

  • 网格.alpha

  • 网格颜色

  • 网格线型

  • 网格线宽

  • 孵化颜色

  • 阴影线宽

  • 组箱

  • 图像.aspect

  • 图像.cmap

  • image.composite_image

  • 图像插值

  • 图像.lut

  • image.origin

  • 图像重采样

  • 交互的

  • 键盘映射.back

  • 键盘映射.copy

  • 键盘映射.forward

  • keymap.fullscreen

  • 键盘映射.grid

  • keymap.grid_minor

  • 键盘映射帮助

  • 键盘映射.home

  • 键盘映射.pan

  • 键盘映射.quit

  • keymap.quit_all

  • 键盘映射.save

  • 键盘映射.xscale

  • 键盘映射.yscale

  • keymap.zoom

  • 图例.borderaxespad

  • 图例.borderpad

  • 图例.columnspacing

  • 图例.edgecolor

  • 图例.facecolor

  • 传奇.fancybox

  • 图例.fontsize

  • 图例.framealpha

  • 图例.frameon

  • 图例.handleheight

  • 图例.handlelength

  • legend.handletextpad

  • 图例.labelcolor

  • 图例.labelspacing

  • 图例.loc

  • 图例.markerscale

  • 图例.numpoints

  • 图例.scatterpoints

  • 传奇.阴影

  • legend.title_fontsize

  • 线条抗锯齿

  • 线条.颜色

  • lines.dash_capstyle

  • lines.dash_joinstyle

  • lines.dashdot_pattern

  • lines.dashed_pa​​ttern

  • lines.dotted_pa​​ttern

  • 线条.linestyle

  • 线.线宽

  • 线条标记

  • 线条.markeredgecolor

  • 线条.markeredgewidth

  • 线条.markerfacecolor

  • 线条.markersize

  • lines.scale_dashes

  • lines.solid_capstyle

  • lines.solid_joinstyle

  • 标记.fillstyle

  • 数学文本.bf

  • 数学文本.cal

  • mathtext.default

  • mathtext.fallback

  • mathtext.fontset

  • 数学文本.it

  • 数学文本文件

  • 数学文本.sf

  • 数学文本.tt

  • patch.antialiased

  • 补丁.edgecolor

  • 补丁.facecolor

  • patch.force_edgecolor

  • 补丁.线宽

  • 路径.效果

  • 路径.简化

  • path.simplify_threshold

  • 路径.sketch

  • 路径.snap

  • pcolor.shading

  • pcolormesh.snap

  • pdf.compression

  • pdf.fonttype

  • pdf.inheritcolor

  • pdf.use14corefonts

  • pgf.preamble

  • pgf.rcfonts

  • pgf.tex系统

  • 极轴网格

  • ps.distiller.res

  • ps.fonttype

  • ps.papersize

  • ps.useafm

  • ps.usedistiller

  • 保存图.bbox

  • savefig.目录

  • 保存图.dpi

  • savefig.edgecolor

  • savefig.facecolor

  • savefig.format

  • savefig.orientation

  • savefig.pad_inches

  • savefig.transparent

  • scatter.edgecolors

  • 分散标记

  • svg.fonttype

  • svg.hashsalt

  • svg.image_inline

  • text.antialiased

  • 文字颜色

  • 文本提示

  • text.hinting_factor

  • text.kerning_factor

  • text.latex.preamble

  • text.parse_math

  • 文本.usetex

  • 时区

  • tk.window_focus

  • 工具栏

  • webagg.address

  • webagg.open_in_browser

  • webagg.port

  • webagg.port_retries

  • xaxis.labellocation

  • xtick.alignment

  • xtick.bottom

  • xtick.color

  • xtick.direction

  • xtick.labelbottom

  • xtick.labelcolor

  • xtick.labelsize

  • xtick.labeltop

  • xtick.major.bottom

  • xtick.major.pad

  • xtick.major.size

  • xtick.major.top

  • xtick.major.width

  • xtick.minor.bottom

  • xtick.minor.pad

  • xtick.minor.size

  • xtick.minor.top

  • xtick.minor.visible

  • xtick.minor.width

  • xtick.top

  • yaxis.labellocation

  • ytick.alignment

  • ytick.color

  • ytick.direction

  • ytick.labelcolor

  • ytick.labelleft

  • ytick.labelright

  • ytick.labelsize

  • ytick.left

  • ytick.major.left

  • ytick.major.pad

  • ytick.major.right

  • ytick.major.size

  • ytick.major.width

  • ytick.minor.left

  • ytick.minor.pad

  • ytick.minor.right

  • ytick.minor.size

  • ytick.minor.visible

  • ytick.minor.width

  • ytick.right

也可以看看

matplotlibrc 文件
find_all (模式) [来源] #

返回此 RcParams 字典的子集,其键与re.search()给定的 匹配pattern

笔记

对返回字典的更改不会传播到父 RcParams 字典。

复制( ) [来源] #

复制此 RcParams 实例。

matplotlib。rc_context ( rc = None , fname = None ) [source] #

返回用于临时更改 rcParams 的上下文管理器。

上下文管理器rcParams["backend"]不会重置。

参数
rc字典

要临时设置的 rcParams。

fname str 或类似路径

具有 Matplotlib rc 设置的文件。如果同时给出fnamerc ,则rc中的设置优先。

也可以看看

matplotlibrc 文件

例子

通过 dict 传递显式值:

with mpl.rc_context({'interactive': False}):
    fig, ax = plt.subplots()
    ax.plot(range(3), range(3))
    fig.savefig('example.png')
    plt.close(fig)

从文件加载设置:

with mpl.rc_context(fname='print.rc'):
    plt.plot(x, y)  # uses 'print.rc'
matplotlib。rc ( group , ** kwargs ) [来源] #

设置电流rcParamsgroup是 rc 的分组,例如,对于lines.linewidth组是lines,对于 axes.facecolor,组是axes,等等。组也可以是组名的列表或元组,例如 ( xtick , ytick )。 kwargs是一个字典属性名称/值对,例如:

rc('lines', linewidth=2, color='r')

设置电流rcParams,相当于:

rcParams['lines.linewidth'] = 2
rcParams['lines.color'] = 'r'

以下别名可用于保存交互式用户的输入:

别名

财产

'lw'

'行宽'

'ls'

'线型'

'C'

'颜色'

'fc'

'脸色'

'ec'

'边缘颜色'

“喵喵”

'标记边缘宽度'

'啊'

'抗锯齿'

因此,您可以将上述调用缩写为:

rc('lines', lw=2, c='r')

请注意,您可以使用 python 的 kwargs 字典工具来存储默认参数的字典。例如,您可以按如下方式自定义字体 rc:

font = {'family' : 'monospace',
        'weight' : 'bold',
        'size'   : 'larger'}
rc('font', **font)  # pass in the font dict as kwargs

这使您可以轻松地在多种配置之间切换。更改后使用 matplotlib.style.use('default')rcdefaults()恢复默认值rcParams

笔记

使用普通的 dict 接口可以使用类似的功能,即 (但 不支持缩写或分组)。rcParams.update({"lines.linewidth": 2, ...})rcParams.update

matplotlib。rcdefaults ( ) [来源] #

rcParams从 Matplotlib 的内部默认样式恢复。

样式列入黑名单rcParams(在 中定义 matplotlib.style.core.STYLE_BLACKLIST)未更新。

也可以看看

matplotlib.rc_file_defaults

rcParams从最初由 Matplotlib 加载的 rc 文件中恢复。

matplotlib.style.use

使用特定的样式文件。调用style.use('default')恢复默认样式。

matplotlib。rc_file_defaults ( ) [来源] #

从MatplotlibrcParams加载的原始 rc 文件中恢复。

样式列入黑名单rcParams(在 中定义 matplotlib.style.core.STYLE_BLACKLIST)未更新。

matplotlib。rc_file ( fname , * , use_default_template = True ) [source] #

rcParams从文件更新。

样式列入黑名单rcParams(在 中定义 matplotlib.style.core.STYLE_BLACKLIST)未更新。

参数
fname str 或类似路径

具有 Matplotlib rc 设置的文件。

use_default_template布尔值

如果为 True,则在使用给定文件中的参数更新之前使用默认参数进行初始化。如果为 False,则当前配置保持不变,并且仅更新文件中指定的参数。

matplotlib。rc_params ( fail_on_error = False ) [来源] #

RcParams从默认的 Matplotlib rc 文件构造一个实例。

matplotlib。rc_params_from_file ( fname , fail_on_error = False , use_default_template = True ) [来源] #

RcParams从文件fname构造一个。

参数
fname str 或类似路径

具有 Matplotlib rc 设置的文件。

fail_on_error布尔值

如果为 True,则在解析器无法转换参数时引发错误。

use_default_template布尔值

如果为 True,则在使用给定文件中的参数更新之前使用默认参数进行初始化。如果为 False,则配置类仅包含文件中指定的参数。(对于更新字典很有用。)

matplotlib。get_configdir ( ) [来源] #

返回配置目录的字符串路径。

目录选择如下:

  1. 如果提供了 MPLCONFIGDIR 环境变量,请选择它。

  2. 在 Linux 上,遵循 XDG 规范并首先查看 $XDG_CONFIG_HOME(如果已定义)或$HOME/.config. 在其他平台上,选择$HOME/.matplotlib.

  3. 如果所选目录存在且可写,则将其用作配置目录。

  4. 否则,创建一个临时目录,并将其用作配置目录。

matplotlib。matplotlib_fname ( ) [来源] #

获取配置文件的位置。

文件位置按以下顺序确定

  • $PWD/matplotlibrc

  • $MATPLOTLIBRC如果不是目录

  • $MATPLOTLIBRC/matplotlibrc

  • $MPLCONFIGDIR/matplotlibrc

  • 在 Linux 上,
    • $XDG_CONFIG_HOME/matplotlib/matplotlibrc(如果$XDG_CONFIG_HOME 已定义)

    • $HOME/.config/matplotlib/matplotlibrc(如果$XDG_CONFIG_HOME 未定义)

  • 在其他平台上, - $HOME/.matplotlib/matplotlibrcif$HOME已定义

  • 最后,它查找$MATPLOTLIBDATA/matplotlibrc应该始终存在的 。

matplotlib。get_data_path ( ) [来源] #

返回 Matplotlib 数据的路径。

记录#

matplotlib。set_loglevel (级别) [来源] #

设置 Matplotlib 的根记录器和根记录器处理程序级别,如果处理程序尚不存在,则创建处理程序。

通常,应该调用set_loglevel("info")set_loglevel("debug")获取额外的调试信息。

参数
级别{“notset”、“调试”、“信息”、“警告”、“错误”、“关键”}

处理程序的日志级别。

笔记

第一次调用这个函数时,一个额外的处理程序被附加到 Matplotlib 的根处理程序;这个处理程序每​​次都被重用,这个函数只是操纵记录器和处理程序的级别。

颜色图和颜色序列#

matplotlib。颜色图[来源] #

按名称为 Matplotlib 所知的颜色图的容器。

实验性的

虽然我们希望 API 是最终的,但我们正式将其标记为 3.5 的实验性,因为我们希望保留在需要时仍为 3.6 调整 API 的选项。

通用注册表实例是matplotlib.colormaps. 用户应该不需要实例化ColormapRegistry自己。

读取访问使用类似 dict 的接口将名称映射到Colormaps:

import matplotlib as mpl
cmap = mpl.colormaps['viridis']

返回Colormap的 s 是副本,因此它们的修改不会更改颜色图的全局定义。

可以通过以下方式添加其他颜色图ColormapRegistry.register

mpl.colormaps.register(my_colormap)
matplotlib。color_sequences [来源] #

Matplotlib 按名称已知的颜色序列的容器。

通用注册表实例是matplotlib.color_sequences. 用户应该不需要实例化ColorSequenceRegistry 自己。

读取访问使用类似 dict 的接口将名称映射到颜色列表:

import matplotlib as mpl
cmap = mpl.color_sequences['tab10']

返回的列表是副本,因此它们的修改不会改变颜色序列的全局定义。

可以通过以下方式添加其他颜色序列 ColorSequenceRegistry.register

mpl.color_sequences.register('rgb', ['r', 'g', 'b'])

杂项#

matplotlib。MatplotlibDeprecationWarning [来源] #

为 Matplotlib 用户发出弃用警告的类。

matplotlib。get_cachedir ( ) [来源] #

返回缓存目录的字符串路径。

用于查找目录的过程与 _get_config_dir 相同,但使用$XDG_CACHE_HOME/$HOME/.cache代替。