我想在for循环中使用subplot2grid,但似乎无法将imshow附加到循环变量:
ax1 = plt.subplot2grid((6,8), (0,0), colspan=4, rowspan=2)
ax2 = plt.subplot2grid((6,8), (2,0), colspan=4, rowspan=2)
ax3 = plt.subplot2grid((6,8), (0,4), colspan=6, rowspan=2)
ax4 = plt.subplot2grid((6,8), (2,4), colspan=6, rowspan=2)
ax5 = plt.subplot2grid((6,8), (4,0), colspan=4, rowspan=2)
galaxies= [...]
a=[ax1, ax2, ax3, ax4, ax5]
for i in range(0,5):
image = mpimg.imread(galaxies[i]+'_CombinedHistogram.png')
a[i].imshow(image)
plt.show()
在这一行:
a[i].imshow(image)
我收到以下错误消息:'AxesSubplot'对象不支持索引。
我已经看到了这个答案:Multiple `subplot2grid` in a for loop,但绝对没有办法在for循环中使用subplot2grid和'axes'对象吗?我觉得我错过了什么。谢谢你的任何澄清!
编辑:代码
答案 0 :(得分:1)
您要将a
中的项目设置为字符串,而不是您创建的轴对象。
更改
a=['ax1', 'ax2', 'ax2', 'ax4', 'ax5']
到
a=[ax1, ax2, ax3, ax4, ax5]
(还有一个错误,你曾两次使用ax2
,没有ax3
)