matplotlib
#
一个面向对象的绘图库。
配套的 pyplot 模块提供了一个程序接口,可以直接导入,例如:
import matplotlib.pyplot as plt
或使用 ipython:
ipython
在您的终端上,然后是:
In [1]: %matplotlib
In [2]: import matplotlib.pyplot as plt
在 ipython shell 提示符下。
在大多数情况下,鼓励在编程时直接使用显式的面向对象库。隐式 pyplot 接口主要用于交互工作。这个建议的例外是 pyplot 函数pyplot.figure
、pyplot.subplot
、pyplot.subplots
和
pyplot.savefig
,它们可以大大简化脚本。有关隐式和显式接口之间权衡的解释,请参阅
Matplotlib 应用程序接口 (API)。
模块包括:
matplotlib.axes
matplotlib.figure
Figure
班级。matplotlib.artist
所有绘制事物的类的
Artist
基类。matplotlib.lines
Line2D
用于绘制线条和标记的类。matplotlib.patches
用于绘制多边形的类。
matplotlib.text
matplotlib.image
matplotlib.collections
用于有效绘制线组或多边形组的类。
matplotlib.colors
颜色规格和制作颜色图。
matplotlib.cm
Colormaps,以及
ScalarMappable
为其他类提供颜色映射功能的 mixin 类。matplotlib.ticker
刻度线位置的计算和刻度线标签的格式。
matplotlib.backends
一个包含用于各种 GUI 库和输出格式的模块的子包。
基本 matplotlib 命名空间包括:
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。交互式( b ) [来源] #
设置是否在每个绘图命令后重绘(例如
pyplot.xlabel
)。
- matplotlib。is_interactive ( ) [来源] #
返回是否在每个绘图命令后重绘。
笔记
此函数仅用于后端。最终用户应
pyplot.isinteractive
改为使用。
默认值和样式#
- 类 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_pattern
lines.dotted_pattern
线条.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
也可以看看
- find_all (模式) [来源] #
返回此 RcParams 字典的子集,其键与
re.search()
给定的 匹配pattern
。笔记
对返回字典的更改不会传播到父 RcParams 字典。
- matplotlib。rc_context ( rc = None , fname = None ) [source] #
返回用于临时更改 rcParams 的上下文管理器。
上下文管理器
rcParams["backend"]
不会重置。- 参数:
- rc字典
要临时设置的 rcParams。
- fname str 或类似路径
具有 Matplotlib rc 设置的文件。如果同时给出fname和rc ,则rc中的设置优先。
也可以看看
例子
通过 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 ) [来源] #
设置电流
rcParams
。group是 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 ( ) [来源] #
从Matplotlib
rcParams
加载的原始 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_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 ( ) [来源] #
返回配置目录的字符串路径。
目录选择如下:
如果提供了 MPLCONFIGDIR 环境变量,请选择它。
在 Linux 上,遵循 XDG 规范并首先查看
$XDG_CONFIG_HOME
(如果已定义)或$HOME/.config
. 在其他平台上,选择$HOME/.matplotlib
.如果所选目录存在且可写,则将其用作配置目录。
否则,创建一个临时目录,并将其用作配置目录。
- 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/matplotlibrc
if$HOME
已定义最后,它查找
$MATPLOTLIBDATA/matplotlibrc
应该始终存在的 。
记录#
颜色图和颜色序列#
- matplotlib。颜色图[来源] #
按名称为 Matplotlib 所知的颜色图的容器。
实验性的
虽然我们希望 API 是最终的,但我们正式将其标记为 3.5 的实验性,因为我们希望保留在需要时仍为 3.6 调整 API 的选项。
通用注册表实例是
matplotlib.colormaps
. 用户应该不需要实例化ColormapRegistry
自己。读取访问使用类似 dict 的接口将名称映射到
Colormap
s: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'])