Python: Nebenhandlung innerhalb einer Loop-Schleife: erst Feld angezeigt, in falscher position
Ich bin ziemlich neu in Python und kommen mehr aus dem Matlab-Sicht.
Ich versuche, eine Serie von 2 x 5-panel-contourf Nebenhandlungen. Mein Ansatz so weit
wurde zu konvertieren (bis zu einem gewissen Grad) mein Matlab-code auf Python-und plot meiner Geschichten in einer Schleife. Die relavent Teil des Codes sieht wie folgt aus:
fig=plt.figure(figsize=(15, 6),facecolor='w', edgecolor='k')
for i in range(10):
#this part is just arranging the data for contourf
ind2 = py.find(zz==i+1)
sfr_mass_mat = np.reshape(sfr_mass[ind2],(pixmax_x,pixmax_y))
sfr_mass_sub = sfr_mass[ind2]
zi = griddata(massloclist, sfrloclist, sfr_mass_sub,xi,yi,interp='nn')
temp = 250+i # this is to index the position of the subplot
ax=plt.subplot(temp)
ax.contourf(xi,yi,zi,5,cmap=plt.cm.Oranges)
plt.subplots_adjust(hspace = .5,wspace=.001)
#just annotating where each contour plot is being placed
ax.set_title(str(temp))
Als Neuling hier im forum, ich dont zu sein scheinen, dürfen befestigen Sie das resultierende Bild. Aber durch meine indexing im code als 'temp' das resultierende layout der die 2 x 5 Platten ist:
251 - 252 - 253 - 254 - 255
256 - 257 - 258 - 259 - 250
Jedoch, was ich will, ist
250 - 251 - 252 - 253 - 254
255 - 256 - 257 - 258 - 259
Ist, dass die erste Platte (250) wird in der letzten position, wo ich denken würde, dass 259 sein soll. Und 251 scheint zu sein, wo ich will 250 platziert werden. Sie scheinen alle in der richtigen Reihenfolge, nur Zirkular verschoben.
Ich weiß, das wird etwas sehr, sehr dummes, sondern schätzen jede Hilfe, die Sie geben können.
Vielen Dank im Voraus.
InformationsquelleAutor russell johnston | 2013-06-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihren code verwenden, mit einigen zufälligen Daten, das funktionieren würde:
Das layout ist natürlich ein bisschen chaotisch, aber das ist, weil Sie Ihre aktuellen Einstellungen (die figsize, wspace etc).
InformationsquelleAutor Rutger Kassies
Das problem ist die Indizierung
subplot
im Einsatz ist. Nebenhandlungen sind gezählt, beginnend mit 1!Ihr code so Lesen muss
Beachten Sie die änderung in der Zeile, wo Sie berechnen
temp
haben Sie fügen Sie eine
colorbar
Befehl? Dies wird immer stehlen Platz aus dem letzten Satz von AchsenHALLO Esmit, Nein, habe ich nicht hinzufügen, der Befehl colorbar. Da bin ich kurze Zeit mit diesem fix, dass Rutger bereitgestellten Mittel, die ich noch nicht erkundet das zugrunde liegende Problem mit meinem ursprünglichen Ansatz. Danke.
InformationsquelleAutor David Zwicker
Im Grunde die gleiche Lösung wie bei Rutger Kassies, aber mit einem mehr pythonic syntax:
InformationsquelleAutor Tim Hoffmann