matplotlib.pyplot.figlegend #

matplotlib.pyplot. figlegend ( * args , ** kwargs ) [source] #

Placer une légende sur la figure.

Signatures d'appel :

figlegend()
figlegend(handles, labels)
figlegend(handles=handles)
figlegend(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')
fig.figlegend()

ou:

line, = ax.plot([1, 2, 3])
line.set_label('Label via method')
fig.figlegend()

Des lignes spécifiques peuvent être exclues de la sélection automatique des éléments de légende en définissant une étiquette commençant par un trait de soulignement. C'est la valeur par défaut pour tous les artistes, donc appeler Figure.legendsans 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 :

fig.figlegend([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, = ax1.plot([1, 2, 3], label='label1')
line2, = ax2.plot([1, 2, 3], label='label2')
fig.figlegend(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 tous les axes, appelez cette fonction avec un itérable de chaînes, une pour chaque élément de légende. Par exemple:

fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.plot([1, 3, 5], color='blue')
ax2.plot([2, 4, 6], color='red')
fig.figlegend(['the blues', 'the reds'])
Paramètres :
gère la liste 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.

Retours :
Legend
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.bboxest (si appelée en tant que méthode de Axes.legend) ou figure.bbox(if Figure.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 legendest appelé.

Si un 4-tuple ou BboxBaseest 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.FontPropertiesou dict

Les propriétés de police de la légende. Si Aucun (par défaut), le courant matplotlib.rcParamssera 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, utilisez rcParams["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 FancyBboxPatchce 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", utilisez rcParams["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 take rcParams["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 oumatplotlib.transforms.Transform

La transformation de la boîte englobante ( bbox_to_anchor ). Pour une valeur de None(par défaut) la transformation des Axes transAxessera 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.FontPropertiesou 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.

Voir également

Axes.legend

Remarques

Certains artistes ne sont pas pris en charge par cette fonction. Voir le guide Légende pour plus de détails.