次の属性エラーの修正方法が正確にわからない:
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)
誰もこれを解決する方法を知っていますか?どうもありがとう。
あなたの質問にはあまり詳細はありませんが、推測します。エラーは一目瞭然です。 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)
matplotlibを古いバージョンにダウングレードするだけで役立ちます。 1.4.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