2.2.0中的API变更¶
新依赖¶
kiwisolver 现在是支持新的受约束布局所必需的依赖项,请参见 受约束的布局参考线 了解更多详细信息。
贬抑¶
类、函数和方法¶
未使用和未测试 Artist.onRemove
和 Artist.hitlist
方法已被弃用。
现在未使用 mlab.less_simple_linear_interpolation
函数已弃用。
未使用的 ContourLabeler.get_real_label_width
方法已弃用。
未使用的 FigureManagerBase.show_popup
方法已弃用。这在E945059B327D42A99939A1BE867FA023E7BA于2005年推出,但从未内置到任何后端。
backend_tkagg.AxisMenu
已弃用,因为自从删除“经典”工具栏后,它已不再使用。
更改的函数签名¶
克瓦格 fig
到 GridSpec.get_subplot_params
已弃用,请使用 figure
相反。
使用 pyplot.axes
用一个 Axes
因为参数已被弃用。这将设置当前轴,即其效果与 pyplot.sca
. 为清晰起见 plt.sca(ax)
应该优先于 plt.axes(ax)
.
不推荐使用字符串而不是布尔值来控制网格和刻度可见性。使用 "on"
, "off"
, "true"
, or "false"
to control grid and tick visibility has been deprecated. Instead, use normal booleans (True
/False
)或者布尔喜欢。将来,所有非空字符串都可以解释为 True
.
当给定具有不匹配列数的二维输入时, plot
目前,在较窄输入的列之间循环,直到较宽输入的所有列都已绘制出来。此行为已被弃用;将来,仅广播(1列到 n 将执行列)。
RCPARAMS¶
这个 rcParams["backend.qt4"]
和 rcParams["backend.qt5"]
版本2.2中不推荐使用RCPARAM。为了强制使用特定的qt绑定,请先导入该绑定,或设置 QT_API
环境变量。
折旧 nbagg.transparent
RCPARAM。要控制nbagg(或任何其他)后端中图形补丁的透明度,请直接设置 figure.patch.facecolor
,或者 figure.facecolor
RCPARAM。
已弃用 Axis.unit_data
¶
使用 Axis.units
(早已存在)相反。
移除¶
函数签名¶
轮廓不再支持 legacy
拐角遮蔽。被蔑视的 ContourSet.vmin
和 ContourSet.vmax
属性已被删除。
经过 None
而不是 "none"
作为格式到 errorbar
不再支持。
这个 bgcolor
关键字参数 Axes
已删除。
模块、方法和功能¶
这个 matplotlib.finance
, mpl_toolkits.exceltools
和 mpl_toolkits.gtktools
模块已被移除。 matplotlib.finance
请访问https://github.com/matplotlib/mpl_finance。
这个 mpl_toolkits.mplot3d.art3d.iscolor
函数已被删除。
这个 Axes.get_axis_bgcolor
, Axes.set_axis_bgcolor
, Bbox.update_from_data
, Bbox.update_datalim_numerix
, MaxNLocator.bin_boundaries
方法已被删除。
mencoder
无法再用于对动画进行编码。
未使用的 FONT_SCALE
和 fontd
的属性 RendererSVG
类已被删除。
彩色地图¶
这个 spectral
颜色映射已删除。这个 Vega*
颜色映射,它是 tab*
彩色地图,已删除。
RCPARAMS¶
已删除以下已弃用的RCPARAM:
axes.color_cycle
(见axes.prop_cycle
)legend.isaxes
,svg.embed_char_paths
(见svg.fonttype
)text.fontstyle
,text.fontangle
,text.fontvariant
,text.fontweight
,text.fontsize
(重命名为text.style
等)tick.size
(重命名为tick.major.size
)
只接受类似字符串的分类输入¶
不接受混合字符串/浮点/int输入,只有字符串是有效的类别。
删除未使用的进口¶
从代码库中删除了许多未使用的导入。因此,尝试从“错误”模块(例如 Figure
从 matplotlib.backends.backend_agg
而不是 matplotlib.figure
)现在将提高 ImportError
.
Axes3D.get_xlim
, get_ylim
和 get_zlim
现在返回一个元组¶
他们以前返回了一个数组。返回元组与二维轴的行为一致。
异常类型更改¶
如果 MovieWriterRegistry
找不到请求的 MovieWriter
,更有用的 RuntimeError
现在引发消息,而不是以前引发的 KeyError
.
auto_adjust_subplotpars
现在提出 ValueError
而不是 RuntimeError
当输入列表的大小不匹配时
Figure.set_figwidth
和 Figure.set_figheight
违约 向前地 真的吗¶
matplotlib.figure.Figure.set_figwidth
和 matplotlib.figure.Figure.set_figheight
有关键字参数 forward=False
默认情况下,但 figure.Figure.set_size_inches
现在默认为 forward=True
. 这就使得这些功能是连续的。
不要将SVG大小截断到最近的点¶
没有理由调整SVG的输出整数点的大小,改为输出浮点 高度 , 宽度 和 视窗 的属性 svg 元素。
小于1磅的字体大小被剪裁为1磅。¶
freetype不允许字体小于1磅,所以所有的agg后端都会自动四舍五入到1磅。PDF(其他矢量后端?)让我们写的字体小于1磅,但他们不能正确放置,因为位置信息来自freetype。这一变化使得任何后端都不能使用小于1磅的字体,与freetype一致,并确保后端的结果更加一致。
对qt后端类mro的更改¶
为了支持qt后端的agg和cairo呈现,以前在 backend_qt5agg.FigureCanvasQTAggBase
已移至 backend_qt5.FigureCanvasQT
因此,它可以与cairo实现共享。这个 FigureCanvasQTAggBase.paintEvent
, FigureCanvasQTAggBase.blit
和 FigureCanvasQTAggBase.print_figure
方法已移至 FigureCanvasQTAgg.paintEvent()
, FigureCanvasQTAgg.blit()
和 FigureCanvasQTAgg.print_figure()
. 前两个方法假定实例也是 QWidget
所以使用 FigureCanvasQTAggBase
它被要求从 QWidget
子类。
已将其所有方法向上或向下移动类层次结构 FigureCanvasQTAggBase
已被弃用。在没有警告的情况下这样做,并尽可能保留API, .backend_qt5agg.FigureCanvasQTAggBase
现在继承自 backend_qt5.FigureCanvasQTAgg
.
MRO FigureCanvasQTAgg
和 FigureCanvasQTAggBase
曾经是:
[matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg,
matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase,
matplotlib.backends.backend_agg.FigureCanvasAgg,
matplotlib.backends.backend_qt5.FigureCanvasQT,
PyQt5.QtWidgets.QWidget,
PyQt5.QtCore.QObject,
sip.wrapper,
PyQt5.QtGui.QPaintDevice,
sip.simplewrapper,
matplotlib.backend_bases.FigureCanvasBase,
object]
和:
[matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase,
matplotlib.backends.backend_agg.FigureCanvasAgg,
matplotlib.backend_bases.FigureCanvasBase,
object]
分别。他们现在是:
[matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg,
matplotlib.backends.backend_agg.FigureCanvasAgg,
matplotlib.backends.backend_qt5.FigureCanvasQT,
PyQt5.QtWidgets.QWidget,
PyQt5.QtCore.QObject,
sip.wrapper,
PyQt5.QtGui.QPaintDevice,
sip.simplewrapper,
matplotlib.backend_bases.FigureCanvasBase,
object]
和:
[matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase,
matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg,
matplotlib.backends.backend_agg.FigureCanvasAgg,
matplotlib.backends.backend_qt5.FigureCanvasQT,
PyQt5.QtWidgets.QWidget,
PyQt5.QtCore.QObject,
sip.wrapper,
PyQt5.QtGui.QPaintDevice,
sip.simplewrapper,
matplotlib.backend_bases.FigureCanvasBase,
object]
axes.Axes.imshow
将RGB值剪辑到有效范围¶
什么时候? axes.Axes.imshow
传递一个带有超出范围值的rgb或rgb a值时,它现在会记录一个警告并将其剪辑到有效范围。旧的行为,包装回到范围,往往隐藏离群值,并使解释RGB图像不可靠。
gtkagg和gtkcairo后端已弃用¶
gtkagg和gtkcairo后端已被弃用。这些过时的后端允许通过GTK+2工具包呈现数字。它们未经测试,已知已被破坏,将无法与Python3一起使用,并且它们的使用已经受到了一段时间的限制。相反,使用 GTK3Agg
和 GTK3Cairo
用于渲染到GTK+3窗口的后端。