Modification de la taille / position de la sous-palette matplotlib après la création des axes
Est-il possible de définir la taille/la position de la matplotlib intrigue secondaire après les axes sont créés? Je sais que je peux le faire:
import matplotlib.pyplot as plt
ax = plt.subplot(111)
ax.change_geometry(3,1,1)
de mettre les axes sur le haut de la ligne de trois. Mais je veux les axes durée de la première deux lignes. J'ai essayé ceci:
import matplotlib.gridspec as gridspec
ax = plt.subplot(111)
gs = gridspec.GridSpec(3,1)
ax.set_subplotspec(gs[0:2])
mais les axes de toujours remplir la totalité de la fenêtre.
Mise à jour pour plus de clarté
Je veux changer la position des axes existants exemple, plutôt que de le définir lors de sa création. C'est parce que la mesure des axes sera modifié à chaque fois que j'ai ajouter des données (tracer des données sur une carte à l'aide cartopy). La carte peut s'avérer hautes et étroites, ou courte et large (ou quelque chose entre les deux). Ainsi, la décision sur la grille de mise en page qui va arriver après le tracé de la fonction.
source d'informationauteur RuthC | 2014-04-05
Vous devez vous connecter pour publier un commentaire.
Grâce à Molly de me pointer dans la bonne direction, j'ai une solution:
Vous pouvez créer un personnage avec une intrigue secondaire qui s'étend sur deux lignes et une intrigue secondaire qui s'étend sur une ligne à l'aide de la
rowspan
argument subplot2grid:Si vous souhaitez modifier l'intrigue secondaire de la taille et de la position après avoir été créée, vous pouvez utiliser le set_position méthode.
Bu vous n'avez pas besoin de cela pour créer la figure que vous avez décrit.
Vous pouvez éviter
ax.set_position()
en utilisantfig.tight_layout()
à la place qui recalcule la nouvelle gridspec: