Jestem całkiem nowy w Pythonie i pochodzę z bardziej matlabowego punktu widzenia. Próbuję utworzyć serię wątków 2 x 5 panelu contourf. Do tej pory moje podejście polegało na zamianie (do pewnego stopnia) mojego kodu Matlab na Python i wykreślenie moich wątków w pętli. Relavent część kodu wygląda następująco:Python: subplot w pętli: pierwszy panel pojawia się w niewłaściwej pozycji
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))
Jako początkujących na tym forum, i nie wydaje się, aby móc dołączyć obraz wynikowy. Jednak, idąc za moim indeksowania w kodzie jako 'temp' powstałego układu The 2 x 5 paneli jest:
251 - 252 - 253 - 254 - 255
256 - 257 - 258 - 259 - 250
Jednak to, co chcę jest
250 - 251 - 252 - 253 - 254
255 - 256 - 257 - 258 - 259
Oznacza to, że pierwszy panel (250) pojawia się na ostatniej pozycji, gdzie według mnie powinien być 259. A 251 wydaje się być tam, gdzie chcę umieścić 250. Wygląda na to, że są we właściwej kolejności, po prostu przesunięte w kółko o jeden.
Wiem, że to będzie coś bardzo głupiego, ale doceniamy każdą pomoc, jaką możesz dać.
Z góry dziękuję.
Dziękuję za szybką odpowiedź! Twoje zmiany zadziałały idealnie i uprościły mój kod nieco :) Wielkie dzięki! –