Maison >développement back-end >Tutoriel Python >Comment positionner une légende Matplotlib en dehors de la zone de tracé et personnaliser sa taille ?

Comment positionner une légende Matplotlib en dehors de la zone de tracé et personnaliser sa taille ?

DDD
DDDoriginal
2024-12-29 00:51:10267parcourir

How to Position a Matplotlib Legend Outside the Plot Area and Customize its Size?

Comment positionner la légende en dehors de la zone de tracé

Problème :

Vous souhaitez créez plusieurs tracés dans une seule figure, mais vous devez positionner la légende en dehors de la zone de tracé. De plus, vous souhaitez minimiser la taille de la légende en réduisant la taille de la police.

Solution :

1. Utilisation de bbox_to_anchor :

L'argument mot-clé bbox_to_anchor vous permet de spécifier l'emplacement de la zone de légende par rapport aux axes du tracé. En définissant bbox_to_anchor sur (1.1, 1.05), vous pouvez déplacer légèrement la légende en dehors des limites des axes :

ax.legend(bbox_to_anchor=(1.1, 1.05))

2. Réduire la zone du tracé :

Une autre méthode consiste à réduire la largeur ou la hauteur du tracé actuel et à positionner la légende en conséquence. Par exemple, pour réduire la largeur du tracé de 20% et placer la légende en dehors de l'axe à droite :

# Shrink current axis by 20%
box = ax.get_position()
ax.set_position([box.x0, box.y0, box.width * 0.8, box.height])

# Put a legend to the right of the current axis
ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))

3. Réduire la taille de la police de la légende :

Pour réduire la taille de la zone de légende, vous pouvez utiliser le paramètre fontsize dans la méthode legend() :

ax.legend(fontsize=8)

4. Méthodes alternatives :

  • Paramètre loc : Le paramètre loc vous permet de spécifier l'emplacement de la légende à l'intérieur du tracé. En réglant loc en haut au centre ou en bas au centre, vous pouvez déplacer la légende vers le haut ou le bas du tracé.
  • Paramètre ncol : Le paramètre ncol contrôle le nombre de colonnes dans la légende . En spécifiant plus de colonnes, vous pouvez étaler la légende et réduire sa hauteur totale.
  • Paramètres Fancybox et Shadow : Les paramètres Fancybox et Shadow peuvent être utilisés pour ajouter des effets esthétiques à la légende, tels que des coins arrondis et une ombre portée.

Pour plus d'informations sur la personnalisation des légendes, reportez-vous à la documentation matplotlib : https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn