matplotlib:属性错误:'AxesSubplot'对象没有属性'add_axes'

rggaifut  于 2022-12-13  发布在  其他
关注(0)|答案(5)|浏览(887)

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

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)

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

cig3rfwq

cig3rfwq1#

你的问题没有太多的细节,但是我猜猜看。这个错误很容易解释。你不能把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)
vc6uscn9

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

but5z9lq

but5z9lq3#

我做了一个conda update pandas,错误消失了。我找不到其他工作。
我的错误与这个错误略有不同(不是“add_axes”),它发生在我试图在matplotlib子情节中使用panda.DataFrame.plot的时候。
我在Pandas0.25.3前后都上过,多个套餐都升级/降级了。

cwtwac6a

cwtwac6a4#

几天前,我在MacBook和联想笔记本电脑上都遇到了同样的错误。我在两台电脑上都使用Anaconda安装Python。
这是Matplotlib软件包管理的问题。所以我的解决办法是删除Matplotlib并重新安装它。然后错误就消失了。

iecba09b

iecba09b5#

只要将Matplotlib降级到旧版本就会有帮助。我将它降级到1. 4. 0,它就修复了这个问题。

相关问题