新鲜事

matplotlib3.2的新增功能

有关自上次修订以来的所有问题和请求的列表,请参阅 GitHub 统计 .

单元转换器识别子类

单元转换器现在也处理它们注册的类的子类的实例。

imsave 接受元数据和PIL选项

imsave 获得了对 metadatapil_kwargs 参数。这些参数的行为与 Figure.savefig() 方法。

cbook.normalize_kwargs

cbook.normalize_kwargs 现在提供了一个方便的界面来规范化艺术家的属性(例如,从“lw”到“linewidth”):

>>> cbook.normalize_kwargs({"lw": 1}, Line2D)
{"linewidth": 1}

第一个参数是要规范化的映射,第二个参数可以是艺术家类或艺术家实例(也可以是特定格式的映射;有关详细信息,请参见函数的docstring)。

FontProperties accepts os.PathLike

这个 文件名 参数 FontProperties 现在可以是 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 _, pngpdf

../_images/whats_new-1.png

请注意,字符之间的间距在其边界框之间是如何一致的(上图)。根据字体支持(如T和e,或W后面的句点),倾斜字符(如AV或VA)将更紧密地间隔在一起,以及各种其他字符对。

(Source code _, pngpdf

../_images/whats_new-2.png

bar3d光源着色

bar3d() 现在支持从不同角度照明 阴影 参数是 True ,可以使用 lightsource 参数。

移动误差条

以前, plt.errorbar() 接受夸格 errorevery 命令 plt.errorbar(x, y, yerr, errorevery=6) 将向数据点添加误差线 x[::6], y[::6] .

plt.errorbar() 现在还接受 errorevery 这样的话 plt.errorbar(x, y, yerr, errorevery=(start, N)) 向点添加误差线 x[start::N], y[start::N] .

Logit-scale ticker和formatter的改进

在版本1.5中引入的logit scale没有合适的ticker和formatter。以前,记号的位置与缩放无关,显示的标签太多,导致重叠,破坏可读性,标签格式不适应精度。

从这个版本开始,logit定位器的行为与log scale或linear scale的定位器几乎相同,这取决于使用的缩放。刻度的数量是受控制的。在对数标度中,一些小标签被自适应地显示为子标签。格式根据概率调整,精度根据比例调整。

轴标题位置和颜色的rcParams

添加了两个新的rcparam: rcParams["axes.titlelocation"] (default: 'center') 表示默认轴标题对齐方式,以及 rcParams["axes.titlecolor"] (default: 'auto') 默认轴标题颜色。

的有效值 axes.titlelocation 分别是:左、中、右。的有效值 axes.titlecolor 是:自动还是彩色。将其设置为自动将返回到以前的行为,即使用中的颜色 text.color .

3位和4位十六进制颜色

现在可以使用3位或4位十六进制颜色来指定颜色,这是通过复制每个字符获得的颜色的简写。 #123 等于 #112233#123a 等于 #112233aa .