matplotlib.axes.Axes.legend #
- Haches. légende ( * args , ** kwargs ) [source] #
Placez une légende sur les Axes.
Signatures d'appel :
legend() legend(handles, labels) legend(handles=handles) legend(labels)
Les signatures d'appel correspondent aux différentes manières suivantes d'utiliser cette méthode :
1. Détection automatique des éléments à afficher dans la légende
Les éléments à ajouter à la légende sont automatiquement déterminés, lorsque vous ne passez aucun argument supplémentaire.
Dans ce cas, les étiquettes sont tirées de l'artiste. Vous pouvez les spécifier soit à la création de l'artiste, soit en appelant la
set_label()
méthode sur l'artiste :ax.plot([1, 2, 3], label='Inline label') ax.legend()
ou:
line, = ax.plot([1, 2, 3]) line.set_label('Label via method') ax.legend()
Noter
Des artistes spécifiques peuvent être exclus de la sélection automatique des éléments de légende en utilisant une étiquette commençant par un trait de soulignement, "_". Une chaîne commençant par un trait de soulignement est l'étiquette par défaut pour tous les artistes, donc appeler
Axes.legend
sans aucun argument et sans définir les étiquettes manuellement n'entraînera aucune légende.2. Lister explicitement les artistes et labels dans la légende
Pour un contrôle total des artistes qui ont une entrée de légende, il est possible de passer respectivement un itérable d'artistes de légende suivi d'un itérable d'étiquettes de légende :
ax.legend([line1, line2, line3], ['label1', 'label2', 'label3'])
3. Lister explicitement les artistes dans la légende
Ceci est similaire à 2, mais les étiquettes sont extraites des propriétés des étiquettes des artistes. Exemple:
line1, = ax.plot([1, 2, 3], label='label1') line2, = ax.plot([1, 2, 3], label='label2') ax.legend(handles=[line1, line2])
4. Étiquetage des éléments de parcelle existants
Découragé
Cette signature d'appel est déconseillée, car la relation entre les éléments de tracé et les étiquettes n'est qu'implicite par leur ordre et peut facilement être confondue.
Pour créer une légende pour tous les artistes sur un Axe, appelez cette fonction avec un itérable de chaînes, une pour chaque élément de légende. Par exemple:
ax.plot([1, 2, 3]) ax.plot([5, 6, 7]) ax.legend(['First line', 'Second line'])
- Paramètres :
- gère la séquence de
Artist
, facultatif Une liste d'artistes (lignes, patchs) à ajouter à la légende. Utilisez-le avec labels , si vous avez besoin d'un contrôle total sur ce qui est affiché dans la légende et que le mécanisme automatique décrit ci-dessus n'est pas suffisant.
La longueur des poignées et des étiquettes doit être la même dans ce cas. S'ils ne le sont pas, ils sont tronqués à la plus petite longueur.
- étiquettes liste de str, facultatif
Une liste d'étiquettes à afficher à côté des artistes. Utilisez-le avec les poignées , si vous avez besoin d'un contrôle total sur ce qui est affiché dans la légende et que le mécanisme automatique décrit ci-dessus n'est pas suffisant.
- gère la séquence de
- Retours :
- Autres paramètres :
- loc str ou paire de flottants, par défaut :
rcParams["legend.loc"]
(par défaut :'best'
) ('best' pour les axes, 'upper right' pour les chiffres) L'emplacement de la légende.
Les chaînes placent la légende au coin correspondant des axes/figure.
'upper left', 'upper right', 'lower left', 'lower right'
Les chaînes placent la légende au centre du bord correspondant des axes/figure.
'upper center', 'lower center', 'center left', 'center right'
La chaîne
'center'
place la légende au centre des axes/figure.La chaîne
'best'
place la légende à l'emplacement, parmi les neuf emplacements définis jusqu'à présent, avec le minimum de chevauchement avec d'autres artistes dessinés. Cette option peut être assez lente pour les tracés contenant de grandes quantités de données ; votre vitesse de traçage peut bénéficier de la fourniture d'un emplacement spécifique.L'emplacement peut également être un 2-tuple donnant les coordonnées du coin inférieur gauche de la légende en coordonnées d'axes (auquel cas bbox_to_anchor sera ignoré).
Pour la rétrocompatibilité, (mais pas d'autre emplacement) peut également être orthographié , et chaque emplacement "chaîne" peut également être donné sous forme de valeur numérique :
'center right'
'right'
Chaîne d'emplacement
Le code d'emplacement
'meilleur'
0
'En haut à droite'
1
'en haut à gauche'
2
'en bas à gauche'
3
'en bas à droite'
4
'droit'
5
'centre gauche'
6
'centre droit'
sept
'centre inférieur'
8
'centre supérieur'
9
'centre'
dix
- bbox_to_anchor
BboxBase
, 2-tuple ou 4-tuple de flottants Case qui sert à positionner la légende en conjonction avec loc . La valeur par défaut
axes.bbox
est (si appelée en tant que méthode deAxes.legend
) oufigure.bbox
(ifFigure.legend
). Cet argument permet un placement arbitraire de la légende.Les coordonnées Bbox sont interprétées dans le système de coordonnées donné par bbox_transform , avec les axes de transformation par défaut ou les coordonnées Figure, selon celui qui
legend
est appelé.Si un 4-tuple ou
BboxBase
est donné, alors il spécifie la bbox dans laquelle la légende est placée. Pour placer la légende au meilleur endroit dans le quadrant inférieur droit des axes (ou figure):(x, y, width, height)
loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5)
Un 2-tuple place le coin de la légende spécifié par loc en x, y. Par exemple, pour placer le coin supérieur droit de la légende au centre des axes (ou figure) les mots clés suivants peuvent être utilisés :
(x, y)
loc='upper right', bbox_to_anchor=(0.5, 0.5)
- ncols entier , par défaut : 1
Le nombre de colonnes de la légende.
Pour des raisons de compatibilité descendante, l'orthographe ncol est également prise en charge mais elle est déconseillée. Si les deux sont donnés, ncols est prioritaire.
- prop Aucun ou
matplotlib.font_manager.FontProperties
ou dict Les propriétés de police de la légende. Si Aucun (par défaut), le courant
matplotlib.rcParams
sera utilisé.- fontsize entier ou {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
La taille de la police de la légende. Si la valeur est numérique, la taille sera la taille absolue de la police en points. Les valeurs de chaîne sont relatives à la taille de police par défaut actuelle. Cet argument n'est utilisé que si prop n'est pas spécifié.
- labelcolor chaîne ou liste, par défaut :
rcParams["legend.labelcolor"]
(par défaut :'None'
) La couleur du texte dans la légende. Soit une chaîne de couleur valide (par exemple, "rouge"), soit une liste de chaînes de couleur. La couleur de l'étiquette peut également correspondre à la couleur de la ligne ou du marqueur en utilisant 'linecolor', 'markerfacecolor' (ou 'mfc') ou 'markeredgecolor' (ou 'mec').
Labelcolor peut être défini globalement à l'aide de
rcParams["legend.labelcolor"]
(par défaut :'None'
). Si aucun, utilisezrcParams["text.color"]
(par défaut :'black'
).- numpoints entier , par défaut :
rcParams["legend.numpoints"]
(par défaut :1
) Le nombre de points de repère dans la légende lors de la création d'une entrée de légende pour une
Line2D
(ligne).- points de dispersion entier, par défaut :
rcParams["legend.scatterpoints"]
(par défaut :1
) Le nombre de points marqueurs dans la légende lors de la création d'une entrée de légende pour un
PathCollection
(nuage de points).- scatteryoffsets itérable de flottants, par défaut :
[0.375, 0.5, 0.3125]
Décalage vertical (par rapport à la taille de la police) des marqueurs créés pour une entrée de légende de nuage de points. 0.0 est à la base du texte de la légende et 1.0 est en haut. Pour dessiner tous les marqueurs à la même hauteur, réglez sur
[0.5]
.- marqueur d'échelle flottante, par défaut :
rcParams["legend.markerscale"]
(par défaut :1.0
) La taille relative des marqueurs de légende par rapport à ceux dessinés à l'origine.
- marqueurpremier booléen , par défaut : Vrai
Si True , le marqueur de légende est placé à gauche de l'étiquette de légende. Si False , le marqueur de légende est placé à droite de l'étiquette de légende.
- frameon booléen , par défaut :
rcParams["legend.frameon"]
(par défaut :True
) Indique si la légende doit être dessinée sur un patch (cadre).
- fancybox booléen , par défaut :
rcParams["legend.fancybox"]
(par défaut :True
) Indique si les bords arrondis doivent être activés autour de
FancyBboxPatch
ce qui constitue l'arrière-plan de la légende.- shadow bool, par défaut :
rcParams["legend.shadow"]
(par défaut :False
) Que ce soit pour dessiner une ombre derrière la légende.
- framealpha flottant, par défaut :
rcParams["legend.framealpha"]
(par défaut :0.8
) La transparence alpha de l'arrière-plan de la légende. Si shadow est activé et framealpha vaut
None
, la valeur par défaut est ignorée.- facecolor "inherit" ou couleur, par défaut :
rcParams["legend.facecolor"]
(par défaut :'inherit'
) La couleur de fond de la légende. Si
"inherit"
, utilisezrcParams["axes.facecolor"]
(par défaut :'white'
).- edgecolor "inherit" ou couleur, par défaut :
rcParams["legend.edgecolor"]
(par défaut :'0.8'
) Couleur du bord du patch d'arrière-plan de la légende. Si
"inherit"
, utilisez takercParams["axes.edgecolor"]
(par défaut :'black'
).- mode {"développer", Aucun}
Si mode est défini sur
"expand"
la légende sera agrandie horizontalement pour remplir la zone des axes (ou bbox_to_anchor si définit la taille de la légende).- bbox_transform Aucun ou
matplotlib.transforms.Transform
La transformation de la boîte englobante ( bbox_to_anchor ). Pour une valeur de
None
(par défaut) la transformation des AxestransAxes
sera utilisée.- title str ou Aucun
Le titre de la légende. La valeur par défaut est aucun titre (
None
).- title_fontproperties Aucun ou
matplotlib.font_manager.FontProperties
ou dict Les propriétés de la police du titre de la légende. Si aucun (par défaut), l' argument title_fontsize sera utilisé s'il est présent ; si title_fontsize vaut également None, le courant
rcParams["legend.title_fontsize"]
(par défaut :None
) sera utilisé.- title_fontsize entier ou {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, par défaut :
rcParams["legend.title_fontsize"]
(par défaut :None
) La taille de la police du titre de la légende. Remarque : Ceci ne peut pas être combiné avec title_fontproperties . Si vous souhaitez définir la taille de police avec d'autres propriétés de police, utilisez le paramètre de taille dans title_fontproperties .
- alignement {'center', 'left', 'right'}, par défaut : 'center'
L'alignement du titre de la légende et de la case des entrées. Les entrées sont alignées comme un seul bloc, de sorte que les marqueurs sont toujours alignés.
- bordure flottante, par défaut :
rcParams["legend.borderpad"]
(par défaut :0.4
) L'espace blanc fractionnaire à l'intérieur de la bordure de la légende, en unités de taille de police.
- labelspacing flottant, par défaut :
rcParams["legend.labelspacing"]
(par défaut :0.5
) L'espace vertical entre les entrées de la légende, en unités de taille de police.
- handlelength float, par défaut :
rcParams["legend.handlelength"]
(par défaut :2.0
) La longueur des poignées de légende, en unités de taille de police.
- hauteur de poignée flottante, par défaut :
rcParams["legend.handleheight"]
(par défaut :0.7
) Hauteur des poignées de légende, en unités de taille de police.
- handletextpad flottant, par défaut :
rcParams["legend.handletextpad"]
(par défaut :0.8
) Le remplissage entre la poignée de la légende et le texte, en unités de taille de police.
- borderaxespad flottant, par défaut :
rcParams["legend.borderaxespad"]
(par défaut :0.5
) Le remplissage entre les axes et la bordure de la légende, en unités de taille de police.
- espacement des colonnes flottant, par défaut :
rcParams["legend.columnspacing"]
(par défaut :2.0
) L'espacement entre les colonnes, en unités de taille de police.
- handler_map dict ou None
Le dictionnaire personnalisé mappe des instances ou des types à un gestionnaire de légende. Ce handler_map met à jour la carte de gestionnaire par défaut trouvée à
matplotlib.legend.Legend.get_legend_handler_map
.
- loc str ou paire de flottants, par défaut :
Voir également
Remarques
Certains artistes ne sont pas pris en charge par cette fonction. Voir le guide Légende pour plus de détails.
Exemples
( Code source , png )
Exemples utilisant matplotlib.axes.Axes.legend
#
Graphique à barres groupées avec étiquettes
Tracer des variables catégorielles
Personnalisation des styles de lignes pointillées
Lignes avec un effet de chemin coché
Nuages de points avec symboles personnalisés
Nuages de points avec légende
Tracer une ellipse de confiance d'un ensemble de données bidimensionnel
Utilisation d'histogrammes pour tracer une distribution cumulative
La fonction histogramme (hist) avec plusieurs ensembles de données
Étiqueter une tarte et un beignet
Composer des légendes personnalisées
Légende utilisant des étiquettes prédéfinies
Rendre des équations mathématiques à l'aide de TeX
Démonstration de l'axe parasite
Tracer des données 2D sur un tracé 3D
Formateur de ticks personnalisé pour les séries chronologiques
Diagramme à barres de groupe avec unités
Guide de mise en page contrainte