2017-10-18 8 views
1

私はそれぞれがnumpy配列として与えられた8つの画像の2つのセットを持っています。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) 

それが唯一の第2のセットを表示します。

答えて

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

関連する問題