2016-11-02 2 views
0

Ich bin mir nicht sicher, warum dies passiert, wenn ich versuche, ein 2x2 Unterplot von 4 Karten (Bilder) mit meinem Code hier zu machen. Ich habe das Gefühl, dass ich etwas falsch verstehe.Unterplots, die nicht in Python plotten

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

Bitte erklären, was nicht in Ordnung ist, was Sie erwartet hatten, zeigen uns die resultierende Figur, und so weiter. * "Warum das passiert" * ist ziemlich kryptisch. – Bart

+1

Die Problembeschreibung ist wirklich schlecht. Ich könnte mal raten, was du meinst: Du verpasst die erste Handlung? In diesem Fall würde der Grund darin liegen, dass Sie zuerst das Bild anzeigen und dann den Teilplot erstellen. Sie müssten diese Reihenfolge umkehren. – ImportanceOfBeingErnest

+1

Wie oben erwähnt, können Sie versuchen, das Problem klarer zu beschreiben. Ich habe bemerkt, dass du 'pltplot' nach' plt.imshow' nennst, du musst es vorher anrufen. – hashmuke

Antwort

-1

Sie sollten angeben, bevor Sie etwas zeichnen, wo es aufgetragen werden soll:

plt.figure() 
plt.subplot(221) # this comes first 
plt.imshow(img1) # this comes second 
plt.axis('off') 
...