Matplotlib 3.2 中的新功能 (2020年3月4日)#
有关自上次修订以来的所有问题和 pull request 的列表,请参阅 3.10.0 的 GitHub 统计信息 (2024 年 12 月 13 日) .
单位转换器识别子类#
单位转换器现在还可以处理已注册的类的子类的实例.
imsave 接受元数据和 PIL 选项#
imsave 获得了对 metadata 和 pil_kwargs 参数的支持.这些参数的行为与 Figure.savefig() 方法类似.
cbook.normalize_kwargs#
cbook.normalize_kwargs 现在提供了一个方便的界面来规范化艺术家属性(例如,从 "lw" 到 "linewidth"):
>>> cbook.normalize_kwargs({"lw": 1}, Line2D)
{"linewidth": 1}
第一个参数是要规范化的映射,第二个参数可以是艺术家类或艺术家实例(它也可以是特定格式的映射;有关详细信息,请参阅该函数的文档字符串).
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"] (default: 0) 设置为6(而不是0).其他值具有未定义的行为.
(Source code, png)
请注意字符之间的间距在其边界框之间是均匀的(上方).经过正确的字距调整(下方)后,倾斜的字符(例如,AV 或 VA)的间距将更紧密,以及其他各种字符对,具体取决于字体支持(例如,T 和 e,或 W 之后的句点).
(Source code, png)
bar3d lightsource shading#
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 刻度和格式器的改进#
在 1.5 版本中引入,logit 刻度没有合适的刻度和格式器.以前,刻度的位置不依赖于缩放,显示的标签太多导致重叠,从而破坏了可读性,并且标签格式不适应精度.
从这个版本开始,logit 定位器的行为与对数刻度或线性刻度的定位器几乎相同,具体取决于使用的缩放.刻度的数量受到控制.一些次要标签以子标签的形式自适应地显示在对数刻度中.格式设置为概率,精度适应刻度.
axes 标题位置和颜色的 rcParams#
已添加两个新的 rcParams rcParams["axes.titlelocation"] (default: 'center') 表示默认的 axes 标题对齐方式, rcParams["axes.titlecolor"] (default: 'auto') 表示默认的 axes 标题颜色.
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)数组.