Matplotlib 3.2 中的新功能 (2020年3月4日)#
有关自上次修订以来的所有问题和拉取请求列表,请参阅 3.10.3 (2025年5月8日) 的 GitHub 统计数据。
单位转换器识别子类#
单位转换器现在也能处理其已注册类的子类实例。
imsave
接受元数据和 PIL 选项#
imsave
已获得对 metadata
和 pil_kwargs
参数的支持。这些参数的行为与 Figure.savefig()
方法类似。
cbook.normalize_kwargs
#
cbook.normalize_kwargs
现在提供了一个方便的接口来规范化 artist 属性(例如,从“lw”到“linewidth”)
>>> cbook.normalize_kwargs({"lw": 1}, Line2D)
{"linewidth": 1}
第一个参数是要规范化的映射,第二个参数可以是 artist 类或 artist 实例(它也可以是特定格式的映射;详情请参阅该函数的文档字符串)。
FontProperties
接受 os.PathLike
#
FontProperties
的 fname 参数现在可以是 os.PathLike
,例如
>>> FontProperties(fname=pathlib.Path("/path/to/font.ttf"))
PDF 后端中的 Gouraud 着色 Alpha 通道#
PDF 后端现在支持 Gouraud 着色三角形网格中的 Alpha 通道。
字距调整现在使用正确的值#
由于应用字距调整方式的错误,Matplotlib 的早期版本会过度校正字距。此版本现在将正确应用字距(对于 FreeType 支持的字体)。要恢复旧行为(例如,用于测试图像),您可以将 rcParams["text.kerning_factor"]
(默认值:0
)设置为 6(而不是 0)。其他值将导致未定义的行为。

请注意字符在其边框之间(上方)的间距是均匀的。经过校正的字距(下方)后,倾斜的字符(例如 AV 或 VA)以及其他各种字符对(例如 T 和 e,或 W 后面的句点)的间距将更紧密,具体取决于字体支持。

bar3d 光源着色#
bar3d()
现在支持当 shade 参数为 True
时从不同角度进行照明,这可以使用 lightsource
参数进行配置。
偏移误差棒#
此前,errorbar()
接受一个关键字参数 errorevery,使得命令 plt.errorbar(x, y, yerr, errorevery=6)
会为数据点 x[::6], y[::6]
添加误差棒。
errorbar()
现在也接受 errorevery 的一个元组,使得 plt.errorbar(x, y, yerr, errorevery=(start, N))
会为点 x[start::N], y[start::N]
添加误差棒。
Logit 刻度定位器和格式化器的改进#
Logit 刻度在 1.5 版本中引入,但没有合适的刻度定位器和格式化器。此前,刻度位置不依赖于缩放,显示过多的标签导致重叠,影响可读性,并且标签格式无法适应精度。
从本版本开始,logit 定位器具有与对数刻度或线性刻度定位器几乎相同的行为,具体取决于所使用的缩放。刻度数量受到控制。一些次要标签在对数刻度中作为子标签自适应显示。格式适用于概率,并且精度适应刻度。
轴标题位置和颜色的 rcParams#
新增了两个 rcParams:rcParams["axes.titlelocation"]
(默认值:'center'
)表示默认的轴标题对齐方式,而 rcParams["axes.titlecolor"]
(默认值:'auto'
)表示默认的轴标题颜色。
axes.titlelocation
的有效值为:left、center 和 right。axes.titlecolor
的有效值为:auto 或一种颜色。将其设置为 auto 将回退到之前的行为,即使用 text.color
中的颜色。
3位和4位十六进制颜色#
现在可以使用3位或4位十六进制颜色来指定颜色,这是通过复制每个字符获得的颜色的简写,例如 #123
等同于 #112233
,而 #123a
等同于 #112233aa
。
pcolorfast 中添加了对 RGB(A) 图像的支持#
Axes.pcolorfast
现在接受 3D 图像(RGB 或 RGBA)数组。