2016-11-02 11 views
0

ここで私のコードが与えられた4つのマップ(画像)の2x2サブプロットを作成しようとすると、どうしてこのようなことが起こっているのか分かりません。私は何かを誤解しているように感じる。サブプロットがPythonでプロットしていない

import matplotlib.pyplot as plt 
img1=plt.imread('0507_1994_better_map.png') 
img3=plt.imread('0507_2015_better_map.png') 
img2=plt.imread('0810_1994_better_map.png') 
img4=plt.imread('0810_2015_better_map.png') 

plt.figure() 
plt.imshow(img1) 
plt.subplot(221) 
plt.axis('off') 
plt.imshow(img2) 
plt.subplot(222) 
plt.axis('off') 
plt.imshow(img3) 
plt.subplot(223) 
plt.axis('off') 
plt.imshow(img4) 
plt.subplot(224) 

plt.show() 

enter image description here

+0

を私たちにその結果を示し、あなたが期待していたものを、間違って何が起こっているか説明してください数字など。 * "なぜこれが起こっているのか" *はかなりわかりにくいです。 – Bart

+1

問題の説明は本当に悪いです。私はあなたが何を意味するかを推測するかもしれません:あなたは最初のプロットを欠いていますか?その場合、最初に画像を表示してサブプロットを作成する必要があります。その順序を逆にする必要があります。 – ImportanceOfBeingErnest

+1

上記のように、問題をより明確に記述することができます。 'plt.imshow'の後に' plt.subplot'を呼んでいることに気付きました。あなたはそれを前に呼び出さなければなりません。 – hashmuke

答えて

-1

あなたはそれがプロットされるべきもの、プロット前に指定する必要があります:

plt.figure() 
plt.subplot(221) # this comes first 
plt.imshow(img1) # this comes second 
plt.axis('off') 
... 
関連する問題