1.5.0中的变化¶
代码更改¶
颠倒的 matplotlib.cbook.ls_mapper
,补充说 ls_mapper_r
¶
从前, matplotlib.cbook.ls_mapper
是一本具有长格式线条样式名称的字典 ("solid"
)作为键和短形式 ("-"
作为价值。这个长到短的映射现在由 ls_mapper_r
,短到长的映射由 ls_mapper
.
禁止在轴之间移动艺术家,属性化artist.axes,贬低艺术家。获取,设置u轴¶
这样做是为了防止已与轴关联的艺术家被移动/添加到其他轴。因为这会破坏转换堆栈,所以从未支持。对此的明显支持(因为它没有引发异常)是多个bug报告和问题的来源。
对于几乎所有的用例,轴应该作为艺术家的一部分由轴来处理轴的分配。 Axes.add_*
方法,因此对get、set u轴进行折旧。
去掉 set_axes
方法还将从AcceptedKwarg表中删除“axes”行(假设删除日期在该表被大修之前到达这里)。
“支点”Kwarg至震颤的加强输入验证¶
Tightened validation so that only {'tip', 'tail', 'mid', and 'middle'} (but any
capitalization) are valid values for the pivot keyword argument in the
Quiver
class (and hence axes.Axes.quiver
and pyplot.quiver
which both
fully delegate to Quiver
). Previously any input matching 'mid.*' would be
interpreted as 'middle', 'tip.*' as 'tip' and any string not matching one of
those patterns as 'tail'.
价值 Quiver.pivot
标准化为在集合中的“tip”、“tail”、“middle”中 Quiver
.
重新排序 Axes.get_children
¶
艺术家订单由返回 axes.Axes.get_children
与使用的不匹配 axes.Axes.draw
. 他们现在使用的顺序与 axes.Axes.draw
现在电话 axes.Axes.get_children
.
等高线图的变化行为¶
违约行为 contour()
和 contourf()
当使用屏蔽数组时,现在由new关键字参数确定 corner_mask ,或者如果未指定,则 rcParams["contour.corner_mask"]
(default: True
) 相反。新的默认行为相当于使用 corner_mask=True
;可以使用 corner_mask=False
或者通过更改rcparam。示例http://matplotlib.org/examples/pylab_examples/contour_corner_mask.html演示了这一区别。旧轮廓算法的使用 corner_mask='legacy'
,现已弃用。
现在,轮廓标签可能出现在不同的地方,而不是在早期版本的matplotlib中。
此外,关键字参数 新奇 现在适用于 contour()
以及 contourf()
它将域细分为 新奇 通过 新奇 四头肌,而以前只是大致上 新奇 通过 新奇 四头肌。
执行等值计算的C/C++对象,用于存储在公共属性中 QuadContourSet.Cntr
,但现在存储在私有属性中,最终用户不应访问它。
为所有定位器类型添加了set_params函数¶
这是一个错误修复,旨在使定位器的API更加一致。
在旧的行为中,只有maxnlocator类型的locator设置了定义的_params(),导致在任何其他locator上使用它来引发attributeError ( aside: set_params(args) is a function that sets the parameters of a Locator instance to be as specified within args) . 修复涉及将set_params()移动到定位器类,以便所有子类型都定义了此函数。
由于每个定位器子类型都有自己的可修改参数,因此定位器中的通用集合_params()并不理想。相反,在定位器中实现了一个引发警告的默认无操作函数。然后扩展定位器的子类型将使用它们自己的实现进行重写。不需要set_params()的子类型将返回到其父级的实现中,这将按预期引发警告。
在新行为中,当调用set_params()时,定位器实例不会引发attributeError。对于不实现set_params()的定位器,将使用定位器中的默认实现。
不允许的 None
在ax.plot中作为x或y值¶
不允许 None
作为 x
或 y
精氨酸 axes.Axes.plot
. 这可能会破坏一些用户代码,但这从未得到官方支持(例如文档),并且允许 None
对象通过可能会导致下游出现混淆的异常。
要创建空行,请使用:
ln1, = ax.plot([], [], ...)
ln2, = ax.plot([], ...)
在这两种情况下,更新 Line2D
对象必须同时更新 x
和 y
数据。
远离的 args 和 关键字参数 从 MicrosecondLocator.__call__
¶
的呼叫签名 __call__()
已从更改 __call__(self, *args, **kwargs)
到 __call__(self)
. 这和超类是一致的 Locator
以及从这个超类派生的所有其他定位器。
不 ValueError
用于微秒定位器和年份定位器¶
这个 MicrosecondLocator
和 YearLocator
如果轴没有数据或视图没有间隔,则调用时的对象将返回空列表。此前,他们提出 ValueError
. 这与所有日期定位器是一致的。
'offsetbox.drawingArea'尊重'clip'关键字参数¶
呼叫签名是 OffsetBox.DrawingArea(..., clip=True)
但什么都没做 clip 争论。无论该参数如何,对象都不执行任何剪辑。现在,对象可以并且确实剪切子对象 Artist
如果他们被设置为剪辑。
您可以使用关闭每个孩子的剪辑 child.set_clip_on(False)
.
向clippath id添加salt¶
将盐添加到用于确定 clipPath
节点。这是为了避免在同一文档中包含具有相同剪辑路径的两个SVG文档时发生冲突(请参见https://github.com/ipython/ipython/issues/8133和https://github.com/matplotlib/matplotlib/issues/4349),但这意味着如果同一个图形保存两次,SVG输出将不再具有确定性。预计这不会影响任何用户,因为当前ID是由剪辑路径属性的MD5哈希生成的,任何用户都很难预测ID的值。
已将圆形标记的快照阈值更改为inf¶
在某些标记大小(以前为6.0)以上绘制圆形标记时,用于生成标记的路径将捕捉到像素中心。然而,这最终会使标记偏离圆。通过将捕捉阈值设置为inf,就不会对圆执行捕捉。
这一变化打破了几项测试,但却是一个进步。
保留带文本位置的单位¶
以前,文本上的“获取位置”方法会去除单元信息,即使单元仍然存在。不存在这样做的固有需求,因此它已经被更改,以便保留单元数据(如果存在)。本质上,调用“get_position”会将调用的确切值返回到“set_position”。
如果您希望获得旧的行为,那么您可以使用名为“get_unitless_position”的新方法。
自定义轴视图更改的新API¶
交互式平移和缩放之前是使用笛卡尔特定算法实现的,该算法不一定适用于自定义轴。三种新的私人方法, matplotlib.axes._base._AxesBase._get_view
, matplotlib.axes._base._AxesBase._set_view
和 matplotlib.axes._base._AxesBase._set_view_from_bbox
,允许自定义 Axes 类来覆盖平移和缩放算法。自定义的实现者 Axes 覆盖这些方法的用户可以为平移和缩放以及交互工具栏上的视图导航按钮提供适当的行为。
MathTex可视化更改¶
MathText中的间距命令已更改为更接近于普通的tex。
改进了MathText中的间距¶
删除下标和上标后出现的多余空间。
没有注释坐标环绕¶
在1.4.0的2351中, [“轴点”、“轴像素”、“图形点”、“图形像素”] 因为坐标已更改为负值不再换行。在1.4.3中,“轴点”和“轴像素”的更改被还原,并且导致“轴分数”被环绕。对于1.5,行为已恢复为1.4.0-1.4.2中的行为,任何类型的坐标都不进行包装。
贬低¶
已弃用 GraphicsContextBase.set_graylevel
¶
这个 GraphicsContextBase.set_graylevel
函数已在1.5中弃用,将在1.6中删除。它一直没用过。这个 GraphicsContextBase.set_foreground
可以改为使用。
已弃用的空闲事件¶
这个 idle_event
在大多数后端中被破坏或丢失,并且在某些情况下会导致错误的警告,并且由于animations模块,它在创建动画中的使用现在已经过时。因此,除了wx后端(它部分工作的地方),涉及它的代码已经被删除,并且不推荐使用它。这个 animation
模块可用于创建动画。
color_cycle
贬低¶
针对新的属性循环特征,轴法 set_color_cycle
现已弃用。调用此方法将用只循环给定颜色的属性循环替换当前的属性循环。
同样,rc参数 axes.color_cycle 也被弃用以代替新的 rcParams["axes.prop_cycle"]
(default: cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])
) 参数。建议不要在同一个rc文件中同时使用这两个参数,因为无法预测结果。为了兼容性,设置 axes.color_cycle 将替换中的cycler rcParams["axes.prop_cycle"]
(default: cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])
) 有颜色循环。访问 axes.color_cycle 将仅返回属性循环的颜色部分(如果存在)。
尚未设置删除时间线。
绑定jQuery¶
与webagg后端捆绑的jquery版本已从1.7.1升级到1.11.3。如果您使用与webagg捆绑在一起的jquery版本,则需要更新HTML文件。
- <script src="_static/jquery/js/jquery-1.7.1.min.js"></script>
+ <script src="_static/jquery/js/jquery-1.11.3.min.js"></script>
删除代码¶
远离的 Image
从主命名空间¶
Image
从PIL/枕头进口以测试PIL是否可用,但没有理由保留 Image
一旦确定了可用性,就在命名空间中。
远离的 lod
来自艺术家¶
删除了方法 set_lod
以及对属性的所有引用 _lod
因为它们不在代码库中的任何其他地方使用。它似乎是一个从未构建出来的特性存根。
远离的 Lena 样本数据中的图像¶
这个 lena.png
和 lena.jpg
图像已从Matplotlib的示例_数据目录中删除。图像也不再可以从 matplotlib.cbook.get_sample_data
. 我们建议使用 matplotlib.cbook.get_sample_data('grace_hopper.png')
或 matplotlib.cbook.get_sample_data('grace_hopper.jpg')
相反。
图例处理器¶
删除代码以允许可以调用图例处理程序。他们现在必须实现一个方法 legend_artist
.
轴线¶
去除方法 set_scale
. 现在,这是通过一个私有方法处理的,用户不应该直接使用该方法。它叫VIA Axes.set_{{x,y}}scale
它负责确保对轴对象进行相关更改。
finance.py¶
已从finance.py中删除参数顺序不明确的函数
注释¶
远离的 textcoords
和 xytext
注释对象的属性。
sphinxext.ipython_*.py¶
两个 ipython_console_highlighting
和 ipython_directive
已经搬到了伊普顿。
更改导入来源 matplotlib.sphinxext.ipython_directive
到 IPython.sphinxext.ipython_directive
从 matplotlib.sphinxext.ipython_directive
到 IPython.sphinxext.ipython_directive
LineCollection.color¶
2005年弃用,使用 set_color
去除 'faceted'
作为的有效值 阴影 在里面 tri.tripcolor
¶
使用 变色染料 相反。在上添加验证 阴影 仅为有效值。
去除 faceted
从分散的夸格¶
拆下的支架 faceted
克瓦格在d48b34288e9651ff95c3b8a071ef5ac5cf50bae7(2008-04-18!)被替换 edgecolor
.
patheffects.svg¶
- 去除
get_proxy_renderer
方法从AbstarctPathEffect
班- 去除
patch_alpha
和offset_xy
从SimplePatchShadow
去除 testing.image_util.py
¶
仅包含PIL中不再使用的功能端口
去除 mlab.FIFOBuffer
¶
不在内部使用,也不是MPL核心任务的一部分。
去除 mlab.prepca
¶
2009年已弃用。
mpl.py¶
拆除模块 matplotlib.mpl
. 在1.3中被pr_1670否决,并提交78ce67d161625833cacf23cfe5d74920248c5b2