Vous pouvez le faire en modifiant les retours axes que subplot. C'est-à-dire que les axes peuvent être positionnés et dimensionnés de la manière souhaitée, et la sous-placette est juste une fonction qui retourne les axes positionnés dans une grille uniforme; mais une fois que vous avez ces axes de sous-parcelle, vous pouvez les redimensionner et les repositionner arbitrairement. Voici un exemple:
from pylab import *
axes = [None, None]
def make():
figure()
axes[0] = subplot(1, 2, 1)
axes[1] = subplot(1, 2, 2)
show()
def re_form():
xmax = axes[1].get_position().get_points()[1][0]
axes[1].set_axis_off()
(x0, y0), (x1, y1) = axes[0].get_position().get_points() # xmin, ymin, xmax, ymax
axes[0].set_position([x0, y0, xmax-x0, y1-y0]) # x, y, width, height
show()
Ici, je show()
utilisé pour mettre à jour l'intrigue, mais vous aurez envie d'utiliser quelque chose de plus approprié pour votre gestionnaire d'événements. Cette démo fonctionne avec iPython: d'abord run
le fichier, puis appelez make()
, qui dessine les deux axes, puis re_form()
, ce qui supprime le second axe et élargit le premier.