不确定如何修复以下属性错误:
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)
有人知道怎么解决这个问题吗?非常感谢。
5条答案
按热度按时间cig3rfwq1#
你的问题没有太多的细节,但是我猜猜看。这个错误很容易解释。你不能把
add_axes
转换成pyplot_2
,因为pyplot_2
是一个matplotlib.axes.AxesSubplot
对象,而且它们没有定义add_axes
方法。只有
matplotlib.figure.Figure
对象上定义了add_axes
方法。从我通过WCSAxes官方文档的简短浏览中得到的信息来看,他们推荐的方法是:
vc6uscn92#
现在需要使用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
but5z9lq3#
我做了一个
conda update pandas
,错误消失了。我找不到其他工作。我的错误与这个错误略有不同(不是“add_axes”),它发生在我试图在matplotlib子情节中使用panda.DataFrame.plot的时候。
我在Pandas0.25.3前后都上过,多个套餐都升级/降级了。
cwtwac6a4#
几天前,我在MacBook和联想笔记本电脑上都遇到了同样的错误。我在两台电脑上都使用Anaconda安装Python。
这是Matplotlib软件包管理的问题。所以我的解决办法是删除Matplotlib并重新安装它。然后错误就消失了。
iecba09b5#
只要将Matplotlib降级到旧版本就会有帮助。我将它降级到1. 4. 0,它就修复了这个问题。