matplotlib:AttributeError:'AxesSubplot'对象没有属性'add_axes'

时间:2016-06-12 23:29:35

标签: python matplotlib axes

不确定如何修复以下属性错误:

AttributeError: 'AxesSubplot' object has no attribute 'add_axes'

违规问题似乎与我设置情节的方式有关:

gridspec_layout = gridspec.GridSpec(3,3)
pyplot_2 = fig.add_subplot(gridspec_layout[2])

ax = WCSAxes(fig, [0.1, 0.1, 0.8, 0.8], wcs=wcs)
pyplot_2.add_axes(ax)

有人知道如何解决这个问题吗?非常感谢。

3 个答案:

答案 0 :(得分:2)

在你的问题中没有太多的细节,但我会猜测。 该错误非常明显。您不能add_axespyplot_2,因为pyplot_2matplotlib.axes.AxesSubplot对象,并且他们没有定义add_axes方法。

只有matplotlib.figure.Figure个对象定义了add_axes方法。

从我通过WCSAxes官方文档的简短浏览中得到的建议方法是:

wcs = astropy.wcs.WCS(....)
fig = matplotlib.pyplot.figure()
pyplot_2 = fig.add_subplot(gridspec_layout[2], projection=wcs)

答案 1 :(得分:0)

将matploblit降级为旧版本会有所帮助。我将它降级到1.4.0并解决了问题。

答案 2 :(得分:0)

您现在需要使用set_prop_cycle,即ax.set_prop_cycle(color=['red', 'green', 'blue'])

Axes.set_color_cycle(clist)从1.5版开始就被弃用。

https://matplotlib.org/3.1.0/api/_as_gen/matplotlib.axes.Axes.set_prop_cycle.html