不确定如何修复以下属性错误:
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)
有人知道如何解决这个问题吗?非常感谢。
答案 0 :(得分:2)
在你的问题中没有太多的细节,但我会猜测。
该错误非常明显。您不能add_axes
到pyplot_2
,因为pyplot_2
是matplotlib.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