2016-11-02 4 views
0

여기서 내 코드가 지정된 4 개의 맵 (이미지)의 2x2 서브 플롯을 만들려고 할 때 왜 이런 일이 발생하는지 잘 모르겠습니다. 나는 내가 오해하고있는 것처럼 느낀다. 당신이 그릴 수 있어야 뭔가 음모 전에파이썬에서 플롯하지 않는 서브 플로트

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') 
... 
관련 문제