Python: subplot dans une boucle: le premier panneau apparaît dans une mauvaise position
Je suis assez nouveau à Python et viennent de plus de Matlab point de vue.
Je suis en train de faire une série de 2 x 5 panel contourf parcelles. Mon approche jusqu'à présent
a été à convertir (dans une certaine mesure) mon code Matlab de Python et de l'intrigue de mon sous-intrigues au sein d'une boucle. Le ème partie du code ressemble à ceci:
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))
Comme un débutant sur ce forum, je ne semble pas être autorisé à joindre l'image résultante. Toutefois, mon indexation dans le code 'temp' la structure résultante de la de la 2 x 5 panneaux est:
251 - 252 - 253 - 254 - 255
256 - 257 - 258 - 259 - 250
Cependant, ce que je veux, c'est
250 - 251 - 252 - 253 - 254
255 - 256 - 257 - 258 - 259
Qui est, le premier panneau (250) apparaît dans la dernière position où je pense 259 devrait être. Et 251 semble être l'endroit où je veux 250 pour être placé. Ils ont tous l'air d'être dans la bonne séquence, il suffit de circulairement déplacé par un.
Je sais que ce sera quelque chose de très stupide, mais d'apprécier l'aide que vous pouvez donner.
Vous en remercie d'avance.
source d'informationauteur russell johnston | 2013-06-20
Vous devez vous connecter pour publier un commentaire.
À l'aide de votre code avec des données aléatoires, ce serait le travail:
La mise en page est un peu brouillon, mais c'est à cause de vos paramètres actuels (figsize, wspace etc).
Le problème, c'est l'indexation
subplot
. Sous-intrigues sont comptés à partir de 1!Votre code doit donc lire
Noter le changement dans la ligne où vous calculer
temp
Fondamentalement la même solution que fournis par Rutger Kassiesmais en utilisant une plus pythonic syntaxe: