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
Vous devez vous connecter pour publier un commentaire.
Dans ce cas, vous pouvez soit utiliser les axes de la figure
legend
méthodes. Dans les deux cas,bbox_to_anchor
est la clé. Comme vous l'avez déjà remarquébbox_to_anchor
spécifie un tuple de coordonnées (ou une boîte) à la place de la légende à l'. Lorsque vous utilisezbbox_to_anchor
pense de lalocation
kwarg que le contrôle de l'alignement horizontal et vertical.La différence est simplement de savoir si le n-uplet de coordonnées est interprété comme axes ou de la figure coordonnées.
Comme un exemple de l'utilisation d'une figure de légende:
Comme un exemple de l'utilisation de la axes de la méthode, essayez quelque chose comme ceci: