2017-10-18 167 views
1

我有兩組8個圖像,每個圖像都是numpy數組。在IPython筆記本上繪製幾個子圖

因爲我想在我的程序中的某個位置使用for循環,所以我想在同一個單元格中顯示每個集合作爲matplotlib子圖表,不幸的是它不起作用(我嘗試使用IPython.display中的顯示函數,根本沒有成功)。

這裏是我使用的代碼:

import matplotlib.pyplot as plt 
import numpy as np 
%matplotlib inline 

for i, img in enumerate(set1): 
    plt.subplot(2, 4, i+1) 
    plt.axis('off') 
    plt.imshow(img) 

for i, img in enumerate(set2): 
    plt.subplot(2, 4, i+1) 
    plt.axis('off') 
    plt.imshow(img) 

它僅顯示所述第二組。

回答

0

發生什麼事是你正在繪製在同一個圖上的一切。因此,當繪製來自set2的圖像時,您將覆蓋來自set1的圖像。你可以在你的for循環之前調用plt.figure()來創建一個新圖形:

import matplotlib.pyplot as plt 
import numpy as np 
%matplotlib inline 

plt.figure() 
for i, img in enumerate(set1): 
    plt.subplot(2, 4, i+1) 
    plt.axis('off') 
    plt.imshow(img) 

plt.figure() 
for i, img in enumerate(set2): 
    plt.subplot(2, 4, i+1) 
    plt.axis('off') 
    plt.imshow(img) 
+0

我明白了!非常感謝您的回答。 – JWM

相關問題