2016-01-28 23 views
-1

我想用subplot2grid在for循環中,但似乎無法imshow重視循環變量:Subplot2grid在for循環

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

你真的不應該在編輯改變了你的問題。現在你有一個新的問題,你以前的問題是固定的,所以問一個新的問題 – tom

+0

也,你的(更新的)代碼適合我。你確定你正在使用'a [i] .imshow'而不是試圖索引你的一個'Axes'對象嗎? – tom

回答

1

您在a設置項爲字符串,而不是軸對象創建。

變化

a=['ax1', 'ax2', 'ax2', 'ax4', 'ax5'] 

a=[ax1, ax2, ax3, ax4, ax5] 

(也有,你用ax2兩次錯字,一個沒有ax3

+0

良好的通話!謝謝!我在編輯這個問題。 – AstroLorraine