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 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 :
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!