1.4.x中的变化¶
代码更改¶
对axes模块进行了主要的重构。轴模块已拆分为更小的模块:
有一些东西不存在于 axes 模块的命名空间已不复存在。如果使用它们,则需要从原始位置导入它们:
math->import mathma->from numpy import macbook->from matplotlib import cbookdocstring->from matplotlib import docstringis_sequence_of_strings->from matplotlib.cbook import is_sequence_of_stringsis_string_like->from matplotlib.cbook import is_string_likeiterable->from matplotlib.cbook import iterableitertools->import itertoolsmartist->from matplotlib import artist as martistmatplotlib->import matplotlibmcoll->from matplotlib import collections as mcollmcolors->from matplotlib import colors as mcolorsmcontour->from matplotlib import contour as mcontourmpatches->from matplotlib import patches as mpatchesmpath->from matplotlib import path as mpathmquiver->from matplotlib import quiver as mquivermstack->from matplotlib import stack as mstackmstream->from matplotlib import stream as mstreammtable->from matplotlib import table as mtable
作为实现qt5支持的重构的一部分,模块
matplotlib.backends.qt4_compat重命名为matplotlib.backends.qt_compat.qt4_compat在1.4中已弃用,将在1.5中删除。这个
errorbar()方法已更改,使上限和下限( 洛利姆斯 , 上行链路 , 西洛里斯 , 许普林 )现在指向正确的方向。这个 fmt 克沃格
errorbar()现在支持字符串“none”来禁止绘制直线和标记;使用 None 对象已弃用。违约 fmt 值更改为空字符串(“”),因此行和标记由plot()默认值。在字体的路径效果呈现中修复了一个错误,这意味着字体大小与非路径效果字体一致。更多详情请参见https://github.com/matplotlib/matplotlib/issues/2889。
Sphinx 的扩展
ipython_directive和ipython_console_highlighting已经被转移到ipython项目本身。虽然他们在Matplotlib中保留了这个版本,但是他们已经被否决了。在中更新扩展名conf.py指向IPython.sphinxext.ipython_directive而不是matplotlib.sphinxext.ipython_directive.在
matplotlib.finance,几乎所有函数都已弃用,并替换为一对函数名。*_ochl和*_ohlc. 前者是本模块之前使用的报价的“开盘-收盘-高-低”顺序,后者是财务标准的“开盘-高-低-收盘”顺序。为了保持一致性,
face_alpha关键字到matplotlib.patheffects.SimplePatchShadow已弃用,赞成alpha关键字。同样,关键字offset_xy现在命名为offset跨越所有AbstractPathEffectSmatplotlib.patheffects._Base已重命名为matplotlib.patheffects.AbstractPathEffect.matplotlib.patheffect.ProxyRenderer已重命名为matplotlib.patheffects.PathEffectRenderer现在是一个完整的renderBase子类。这位艺术家曾画过
Figure.colorbar已从matplotlib.lines.Line2D到matplotlib.patches.Polygon因此colorbar.ColorbarBase.outline现在是matplotlib.patches.Polygon对象。图例处理程序接口已从可调用更改为实现
legend_artists方法(折旧阶段将在v1.4中看到该接口的维护)。见 图例指南 更多详情。进一步的图例更改包括:matplotlib.axes.Axes._get_legend_handles现在返回句柄的生成器,而不是列表。- 这个
legend()函数的 loc 位置参数已被弃用。使用 loc 取而代之的是关键字参数。
这个
rcParams["savefig.transparent"](default:False) 已添加以在保存数字时控制默认透明度。稍微重构
Annotation家庭。文本位置在Annotation现在完全由Text对象如此.set_position按预期工作。属性 木文 和 文本框 已弃用,赞成 西恩 和 anncoords公司 以便Annotation和AnnotationBbox可以共享一个合理命名的通用API来获取/设置文本或框的位置。- 西恩 ->设置注释的位置
- xy ->设置箭头指向的位置
- anncoords公司 ->设置注释位置的单位
- 木栓 ->设置点位置的单位
set_position()>Annotation仅设置批注位置
matplotlib.mlab.specgram,matplotlib.mlab.psd,matplotlib.mlab.csd,matplotlib.mlab.cohere,matplotlib.mlab.cohere_pairs,matplotlib.pyplot.specgram,matplotlib.pyplot.psd,matplotlib.pyplot.csd和matplotlib.pyplot.cohere现在在先前引发断言错误的地方引发ValueError。为了
matplotlib.mlab.psd,matplotlib.mlab.csd,matplotlib.mlab.cohere,matplotlib.mlab.cohere_pairs,matplotlib.pyplot.specgram,matplotlib.pyplot.psd,matplotlib.pyplot.csd和matplotlib.pyplot.cohere,在返回shape(n,1)数组的情况下,现在将其转换为(n,1)数组。以前,(n,m)数组被平均为(n,1)数组,但是(n,1)数组没有变化。此更改使两种情况下的尺寸保持一致。增加了
rcParams["axes.formatter.useoffset"](default:True) 控制的默认值 使用偏移 在里面ticker.ScalarFormatter补充
Formatter子类StrMethodFormatter哪一个和FormatStrFormatter,但用于新样式的格式字符串。已弃用
matplotlib.testing.image_util唯一的功能是,matplotlib.testing.image_util.autocontrast. 这些将在v1.5.0中完全删除。这个
fmt的参数plot_date()已从更改bo只是o,因此默认情况下可以进行颜色循环。删除了类
FigureManagerQTAgg弃权NavigationToolbar2QTAgg将在1.5中删除。已删除以前的公共(无前缀)属性
rect和drawRect从FigureCanvasQTAgg它们始终是drawRectangle()功能。函数签名
tight_bbox.adjust_bbox和tight_bbox.process_figure_for_rasterizing已更改。一个新的 fixed_dpi 参数允许重写figure.dpi设置而不是尝试从文件格式推断预期行为。添加了对水平/垂直轴填充的支持
mpl_toolkits.axes_grid1.axes_grid.ImageGrid---论点 axes_pad 如果需要单独的轴填充,现在可以像元组一样。保留原始行为。添加了对
matplotlib.transforms.Affine2D,可以使用skew和skew_deg方法。添加顺时针参数以控制扇区方向
axes.Axes.pie在
matplotlib.lines.Line2D这个 市场化的 功能已扩展。以前可以使用两元素列表或两元素元组来指定整数起始索引和步幅长度。现在这只能用两个元素的元组来实现。如果使用两个元素的列表,那么它将被视为NumPy花式索引,并且只显示与给定索引对应的两个标记。远离的 prop 关键字参数来自
mpl_toolkits.axes_grid1.anchored_artists.AnchoredSizeBarcall. It was passed through to the base-class ``_ _inituU``且仅用于设置填充。现在 字体属性 (这是真正用来设置字体属性的AnchoredSizeBar)通过代替 prop . 如果 字体属性 不是传进来的,但是 prop 是,那么 prop 用来代替 字体属性 . 如果两个都被传进来, prop 被静默地忽略。在中使用索引0
pyplot.subplot和相关命令已弃用。由于缺乏有效性plt.subplots(2, 2, 0)不引发异常,但将轴放入 _last_ 位置。这是由于子块中的索引是基于1的(以镜像matlab),因此在索引到GridSpec对象,用于确定轴的方向,减去1。传入0将导致传入-1到GridSpec这就导致了最后一个位置的恢复。尽管这种行为显然是错误的,并不是有意的,但我们仍在经历一个不可预测的循环,我们非常谨慎地认为任何用户都在利用这个“特性”。使用0作为索引将在1.4中引发警告,在1.5中引发异常。默认情况下,剪裁在偏移框上处于关闭状态。
Matplotlib现在使用一个不太激进的调用
gc.collect(1)当关闭数字以避免内存中大量用户对象的严重延迟时。默认剪辑值为 all 饼图艺术家现在默认为
False.
代码删除¶
- 远离的
mlab.levypdf. 这部法典产生了一个纽比错误(而且已经有很长一段时间了),并且不是征税分配的标准形式。scipy.stats.levy应该改为使用