2.0.0中的API更改

弃用和移除

轴的颜色

这个 axisbgaxis_bgcolor 对性能 Axes 已弃用,赞成 facecolor .

GTK和GDK后端已弃用

gdk和gtk后端已被弃用。这些过时的后端允许通过gdk api将数字呈现到文件和gtk2数字。它们未经测试,已知已损坏,一段时间以来一直不鼓励使用。相反,使用 GTKAggGTKCairo 用于渲染到GTK2窗口的后端。

WX后端已弃用

WX后端已弃用。它还没有经过测试,而且它的使用已经被阻止了一段时间。相反,使用 WXAgg 用于将图形呈现到WX窗口的后端。

Cocoaagg后端已删除

已删除已弃用但功能不完全的cocoaagg后端。

round 已从tkagg后端删除

tkagg后端有自己的 round 功能。这是内部未使用的,已被删除。相反,使用 round 内置功能或 numpy.around .

“保留”功能已弃用

“hold”关键字参数及其相关的所有函数和方法以及 axes.hold rcParams条目。行为将与默认值保持一致 hold=True 长期存在的状态。而不是使用函数或关键字参数 (hold=False )要更改该行为,请在随后的打印命令之前根据需要明确清除轴或图形。

Artist.update 有返回值

方法 matplotlib.artist.Artist.setmatplotlib.artist.Artist.update 以及功能 matplotlib.artist.setp 现在使用一个通用的代码路径来查找如何更新给定的艺术家属性(使用setter方法或属性/属性)。

行为 matplotlib.artist.Artist.update 稍微更改以返回setter方法返回的值列表,以避免更改 matplotlib.artist.Artist.setmatplotlib.artist.setp .

钥匙进入 matplotlib.artist.Artist.update 现在在处理前转换为小写,以匹配 matplotlib.artist.Artist.setmatplotlib.artist.setp . 这不应该破坏任何用户代码,因为没有在名称中使用大写字母的set方法,但这会对以后的命名属性造成限制。

Legend 初始化器增益 变色染料脸色 关键字参数

这个 Legend 后台修补程序(或“frame”)可以 edgecolorfacecolor 由相应的关键字参数确定 matplotlib.legend.Legend 初始值设定项,或调用该初始值设定项的任何方法或函数。如果保留默认值 None ,它们的值将取自 matplotlib.rcParams . 以前存在的 framealpha Kwarg仍然控制着补丁的透明度。

定性颜色图

ColorBrewer的定性/离散颜色映射(“重音”、“深2”、“成对”、“Pastel1”、“Pastel2”、“Set1”、“Set2”、“Set3”)现在实现为 ListedColormap 而不是 LinearSegmentedColormap .

例如,要将这些用于将类别指定为整数的图像,请使用:

plt.imshow(x, cmap='Dark2', norm=colors.NoNorm())

变化 draw_image 后端API

这个 draw_image 由后端实现的方法已更改其接口。

只有当后端声明它能够通过返回 Trueoption_scale_image . 见 draw_image 有关详细信息,请参阅docstring。

matplotlib.ticker.LinearLocator 算法更新

这个 matplotlib.ticker.LinearLocator 用于在用户需要精确的刻度数时定义轴刻度的范围和位置。 LinearLocator 因此不同于默认定位器 MaxNLocator ,用户为其指定最大间隔数,而不是精确的刻度数。

视距算法 matplotlib.ticker.LinearLocator 已更改,以便选择更方便的勾选位置。新算法返回的绘图视图范围是用户请求的刻度数的倍数。这样可以确保勾号在整个整数上的位置更加一致。例如,当“twinx”绘图的两个y轴都使用 matplotlib.ticker.LinearLocator 在相同的刻度数下,它们的Y刻度位置和网格线将重合。

matplotlib.ticker.LogLocator 获得numticks Kwarg

由生成的最大刻度数 LogLocator 现在可以通过将新的“numticks”kwarg设置为整数来显式控制。默认情况下,Kwarg为“无”,在内部将其设置为“自动”字符串,从而触发一种新算法,根据相对于TickLabel字体大小的轴长度调整最大值。

matplotlib.ticker.LogFormatter :两个新Kwargs

以前,日志缩放轴上的小刻度在默认情况下没有标记。算法已添加到 LogFormatter 控制基整数幂之间的刻度标记。该算法使用Kwarg元组中提供的两个参数,名为“次要阈值”。请参阅docstring以获得进一步的解释。

为了改进轴的支撑,使用 SymmetricalLogLocator ,A 直线加速器 已添加关键字参数。

mpl_toolkits.mplot3d.axes3d.py中3d quiver函数的新默认值

Matplotlib同时具有二维和三维 quiver 功能。这些更改仅影响三维函数,并使三维函数的默认行为与二维版本匹配。有两个变化:

  1. 3d-quiver函数以前将箭头标准化为相同的长度,这使得它在箭头长度应不同且与2d函数的行为不匹配的情况下不可用。此规范化行为现在由 normalize 关键字,默认为false。
  2. 这个 pivot 关键字现在默认为 tail 而不是 tip . 这样做是为了匹配2dquiver函数的默认行为。

要使用3dquiver函数获得以前的行为,可以使用以下命令调用函数:

ax.quiver(x, y, z, u, v, w, normalize=True, pivot='tip')

其中“ax”是 Axes3d 创建的对象如下:

import mpl_toolkits.mplot3d.axes3d
ax = plt.subplot(111, projection='3d')

过时的图形行为

尝试绘制图形现在将标记为未过时(如果绘制成功,则独立)。此更改是为了防止重复尝试重新绘制在绘制时引发错误的图形。之前的行为只会在完全重新绘制成功后将某个图形标记为未过时。

光谱颜色图现在是nipy谱

以前称为 spectralspectral_r 已被替换为 nipy_spectralnipy_spectral_r 从Matplotlib 1.3.0开始。尽管在Matplotlib1.3.0中不赞成使用颜色映射,但它从未发出警告。从matplotlib 2.0.0开始,使用旧名称会引发一个拒绝预测警告。将来,使用旧名称会导致错误。

默认安装不再包含测试映像

为了减小控制盘和源安装的大小,默认情况下不再包括测试和基线图像。

要恢复安装测试和映像,请使用 setup.cfg 用:

[packages]
tests = True
toolkits_tests = True

在生成/安装时在源目录中。