Comment positionner et aligner une matplotlib figure de légende?

J'ai une figure avec deux sous-intrigues que 2 lignes et 1 colonne. Je peux ajouter une jolie figure de légende avec

fig.legend((l1, l2), ['2011', '2012'], loc="lower center", 
           ncol=2, fancybox=True, shadow=True, prop={'size':'small'})

Cependant, cette légende est placée au centre de la figure et pas en dessous du centre de la axes que je voudrais l'avoir. Maintenant, je peux obtenir mes axes de coordonnées avec

axbox = ax[1].get_position()

et en théorie je devrais être en mesure de position de la légende, en spécifiant le loc mot-clé avec un n-uplet:

fig.legend(..., loc=(axbox.x0+0.5*axbox.width, axbox.y0-0.08), ...)

Cela fonctionne, sauf que la légende est alignée à gauche, de sorte que loc spécifie le bord gauche/coin de la case de la légende et non pas le centre. J'ai cherché des mots-clés comme aligner, horizontalalignment, etc., mais je ne pouvais pas en trouver. J'ai aussi essayé d'obtenir la "position de la légende", mais la légende n'a pas un *get_position()* méthode. J'ai lu sur *bbox_to_anchor* mais ne peut pas donner un sens lorsqu'il est appliqué à une figure de légende. Cela semble être faite pour les axes de légendes.

Ou: dois-je utiliser un décalage des axes de la légende à la place? Mais alors, pourquoi il y a des légendes d'illustrations en premier lieu? Et en quelque sorte, il doit être possible de "centre d'aligner" une figure de légende, parce que loc="en bas au centre" t-il trop.

Merci pour toute aide,

Martin

InformationsquelleAutor maschu | 2012-12-15