Matplotlib 3.2 版本的新特性(2020 年 3 月 4 日)#
有关自上次修订以来所有问题和拉取请求的列表,请参阅3.10.0 版本(2024 年 12 月 13 日)的 GitHub 统计信息。
单位转换器识别子类#
单位转换器现在还可以处理已注册类的子类的实例。
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"]
(默认值: 0
) 设置为 6(而不是 0)。其他值具有未定义的行为。
请注意,字符之间的间距在其边界框之间是均匀的(上图)。使用校正后的字距(下图),倾斜的字符(例如,AV 或 VA)将靠得更近,并且根据字体支持,各种其他字符对(例如,T 和 e,或 W 之后的句点)也将靠得更近。
bar3d 光源着色#
当 shade 参数为 True
时,bar3d()
现在支持来自不同角度的光照,可以使用 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 定位器具有与对数刻度或线性刻度定位器几乎相同的行为,具体取决于使用的缩放。刻度的数量受到控制。一些次要标签自适应地显示为对数刻度中的子标签。格式化适用于概率,并且精度适应于刻度。
轴标题位置和颜色的 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)数组。