matplotlib.legend#

Le module de légende définit la classe Legend, qui est chargée de dessiner les légendes associées aux axes et/ou aux figures.

Important

Il est peu probable que vous créiez manuellement une instance Legend. La plupart des utilisateurs créeraient normalement une légende via la legend fonction. Pour plus de détails sur les légendes, il existe également un guide des légendes .

La Legendclasse est un conteneur de poignées de légende et de textes de légende.

La carte du gestionnaire de légende spécifie comment créer des poignées de légende à partir d'artistes (lignes, patchs, etc.) dans les axes ou les figures. Les gestionnaires de légende par défaut sont définis dans le legend_handlermodule. Bien que tous les types d'artistes ne soient pas couverts par les gestionnaires de légende par défaut, des gestionnaires de légende personnalisés peuvent être définis pour prendre en charge des objets arbitraires.

Consultez le guide des légendes pour plus d'informations.

classe matplotlib.legend. DraggableLegend ( légende , use_blit = False , mise à jour = 'loc' ) [source] #

Socles :DraggableOffsetBox

Wrapper autour d'un Legendpour prendre en charge le déplacement de la souris.

Paramètres :
LégendeLegend

Instance Legendà envelopper.

use_blit booléen , facultatif

Utilisez le blittage pour une composition d'image plus rapide. Pour plus de détails, voir FuncAnimation .

mettre à jour {'loc', 'bbox'}, facultatif

Si "loc", mettez à jour le paramètre loc de la légende lors de la finalisation. Si "bbox", mettez à jour le paramètre bbox_to_anchor .

finalize_offset ( ) [source] #
classe matplotlib.legend. Legend ( parent , handles , labels , * , loc = None , numpoints = None , markerscale = None , markerfirst = True , scatterpoints = None , scatteryoffsets = None , prop = None , fontsize = None , labelcolor = None , borderpad= Aucun , labelspacing = Aucun , handlelength = Aucun , handleheight = Aucun , handletextpad = Aucun , borderaxespad = Aucun , columnspacing = Aucun , ncols = 1 , mode = Aucun , fancybox = Aucun , shadow = Aucun , title = Aucun , title_fontsize = Aucun, framealpha = Aucun , edgecolor = Aucun , facecolor = Aucun , bbox_to_anchor = Aucun , bbox_transform = Aucun , frameon = Aucun , handler_map = Aucun , title_fontproperties = Aucun , alignement = 'center' , ncol = 1 ) [source] #

Socles :Artist

Placez une légende sur les axes à l'emplacement loc.

Paramètres :
parent AxesouFigure

L'artiste qui contient la légende.

gère la liste desArtist

Une liste d'artistes (lignes, patchs) à ajouter à la légende.

étiquettes liste de str

Une liste d'étiquettes à afficher à côté des artistes. La longueur des poignées et des étiquettes doit être la même. S'ils ne le sont pas, ils sont tronqués à la plus petite des deux longueurs.

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.

Remarques

Les utilisateurs peuvent spécifier n'importe quel emplacement arbitraire pour la légende à l'aide de l' argument de mot-clé bbox_to_anchor . bbox_to_anchor peut être un BboxBase(ou dérivé de celui-ci) ou un tuple de 2 ou 4 flottants. Voir set_bbox_to_anchorpour plus de détails.

L'emplacement de la légende peut être spécifié en définissant loc avec un tuple de 2 flottants, qui est interprété comme le coin inférieur gauche de la légende dans la coordonnée des axes normalisés.

codes = {'meilleur' : 0, 'centre' : 10, 'centre gauche' : 6, 'centre droit' : 7, 'centre inférieur ' : 8, 'bas gauche' : 3, 'bas droit' : 4, 'right' : 5, 'upper center' : 9, 'upper left' : 2, 'upper right' : 1} #
contient ( événement ) [source] #

Teste si l'artiste contient l'événement mouse.

Paramètres :
événement de sourismatplotlib.backend_bases.MouseEvent
Retours :
contient booléen

Indique si des valeurs se trouvent dans le rayon.

dictée des détails

Un dictionnaire spécifique à l'artiste des détails du contexte de l'événement, tels que les points contenus dans le rayon de sélection. Voir les sous-classes individuelles d'artistes pour plus de détails.

draw ( moteur de rendu ) [source] #

Dessinez l'artiste (et ses enfants) à l'aide du moteur de rendu donné.

Cela n'a aucun effet si l'artiste n'est pas visible ( Artist.get_visible renvoie Faux).

Paramètres :
sous-classe de moteur de rendu .RendererBase

Remarques

Cette méthode est remplacée dans les sous-classes Artist.

draw_frame ( b ) [source] #

Définissez si le patch de la boîte de légende est dessiné.

Paramètres :
b bool
get_alignment ( ) [source] #

Obtenir la valeur d'alignement de la boîte de légende

get_bbox_to_anchor ( ) [source] #

Renvoie la bbox à laquelle la légende sera ancrée.

get_children ( ) [source] #

Renvoie une liste des enfants Artistde this Artist.

méthode de classe get_default_handler_map ( ) [source] #

Renvoie la carte globale du gestionnaire par défaut, partagée par toutes les légendes.

get_draggable ( ) [source] #

Renvoie Truesi la légende est déplaçable, Falsesinon.

get_frame ( ) [source] #

Renvoie le Rectangleutilisé pour encadrer la légende.

get_frame_on ( ) [source] #

Déterminez si le patch de la boîte de légende est dessiné.

statique get_legend_handler ( legend_handler_map , orig_handle ) [source] #

Renvoie un gestionnaire de légende de legend_handler_map qui correspond à orig_handler .

legend_handler_map doit être un objet dictionnaire (renvoyé par la méthode get_legend_handler_map).

Il vérifie d'abord si le orig_handle lui-même est une clé dans le legend_handler_map et renvoie la valeur associée. Sinon, il vérifie chacune des classes dans son ordre de résolution de méthode. Si aucune clé correspondante n'est trouvée, elle renvoie None.

get_legend_handler_map ( ) [source] #

Renvoie la carte de gestionnaire de cette instance de légende.

get_lines ( ) [source] #

Renvoie la liste des Line2Ds dans la légende.

get_patches ( ) [source] #

Renvoie la liste des Patchs dans la légende.

get_texts ( ) [source] #

Renvoie la liste des Texts dans la légende.

get_tightbbox ( moteur de rendu = Aucun ) [source] #

Comme Artist.get_window_extent, mais inclut tout découpage.

Paramètres :
sous-classe de moteur de renduRendererBase

moteur de rendu qui sera utilisé pour dessiner les figures (c'est-à-dire fig.canvas.get_renderer())

Retours :
Bbox

La boîte englobante englobante (en coordonnées de pixels de la figure).

obtenir_titre ( ) [source] #

Renvoie l' Textinstance du titre de la légende.

get_window_extent ( moteur de rendu = Aucun ) [source] #

Obtenez la boîte englobante de l'artiste dans l'espace d'affichage.

La largeur et la hauteur de la boîte englobante sont non négatives.

Les sous-classes doivent être remplacées pour être incluses dans le calcul « serré » de la boîte englobante. La valeur par défaut est de renvoyer une boîte englobante vide à 0, 0.

Soyez prudent lorsque vous utilisez cette fonction, les résultats ne seront pas mis à jour si l'étendue de la fenêtre d'artiste de l'artiste change. L'étendue peut changer en raison de toute modification de la pile de transformation, telle que la modification des limites des axes, de la taille de la figure ou du canevas utilisé (comme cela se fait lors de l'enregistrement d'une figure). Cela peut entraîner un comportement inattendu où les figures interactives s'afficheront correctement à l'écran, mais ne seront pas enregistrées correctement.

set ( * , agg_filter=<UNSET> , alignement=<UNSET> , alpha=<UNSET> , animé=<UNSET> , bbox_to_anchor=<UNSET> , clip_box=<UNSET> , clip_on=<UNSET> , clip_path=<UNSET > , draggable=<UNSET> , frame_on=<UNSET> , gid=<UNSET> , in_layout=<UNSET> , label=<UNSET> , mouseover=<UNSET> , ncols=<UNSET> , path_effects=<UNSET> , sélecteur=<NON DÉFINI> ,rastérisé=<UNSET> ,sketch_params=<UNSET> , snap=<UNSET> , title=<UNSET> , transform=<UNSET> , url=<UNSET> , visible=<UNSET> , zorder=<UNSET> ) [source] #

Définissez plusieurs propriétés à la fois.

Les propriétés prises en charge sont

Propriété

La description

agg_filter

une fonction de filtre, qui prend un tableau flottant (m, n, 3) et une valeur dpi, et renvoie un tableau (m, n, 3) et deux décalages à partir du coin inférieur gauche de l'image

alignment

{'centre', 'gauche', 'droite'}.

alpha

scalaire ou Aucun

animated

bourdonner

bbox_to_anchor

BboxBaseou tuple

clip_box

Bbox

clip_on

bourdonner

clip_path

Patch ou (chemin, transformation) ou aucun

draggable

bourdonner

figure

Figure

frame_on

bourdonner

gid

chaîne

in_layout

bourdonner

label

objet

mouseover

bourdonner

ncols

inconnue

path_effects

AbstractPathEffect

picker

Aucun ou bool ou flottant ou appelable

rasterized

bourdonner

sketch_params

(échelle : flottant, longueur : flottant, caractère aléatoire : flottant)

snap

booléen ou Aucun

title

chaîne

transform

Transform

url

chaîne

visible

bourdonner

zorder

flotteur

set_alignment ( alignement ) [source] #

Définissez l'alignement du titre de la légende et de la zone d'entrées.

Les entrées sont alignées comme un seul bloc, de sorte que les marqueurs sont toujours alignés.

Paramètres :
alignement {'center', 'left', 'right'}.
set_bbox_to_anchor ( bbox , transform = None ) [source] #

Définissez la bbox à laquelle la légende sera ancrée.

Paramètres :
bbox BboxBaseou tuple

La boîte englobante peut être spécifiée des manières suivantes :

  • Un BboxBaseexemple

  • Un tuple de dans la transformation donnée (coordonnée des axes normalisés si aucun)(left, bottom, width, height)

  • Un tuple dont la largeur et la hauteur seront supposées être nulles.(left, bottom)

  • None , pour supprimer l'ancrage bbox et utiliser le parent bbox.

transformer Transform, facultatif

Une transformation à appliquer à la boîte englobante. S'il n'est pas spécifié, cela utilisera une transformation de la boîte englobante du parent.

méthode de classe set_default_handler_map ( handler_map ) [ source] #

Définissez la carte de gestionnaire par défaut globale, partagée par toutes les légendes.

set_draggable ( état , use_blit = False , mise à jour = 'loc' ) [source] #

Activez ou désactivez la prise en charge du déplacement de la souris de la légende.

Paramètres :
état booléen

Indique si le déplacement de la souris est activé.

use_blit booléen , facultatif

Utilisez le blittage pour une composition d'image plus rapide. Pour plus de détails, voir FuncAnimation .

mettre à jour {'loc', 'bbox'}, facultatif

Le paramètre de légende à modifier lorsqu'il est glissé :

  • 'loc' : met à jour le paramètre loc de la légende

  • 'bbox' : mise à jour du paramètre bbox_to_anchor de la légende

Retours :
DraggableLegendou Aucun

Si l'état est Truethis renvoie l' DraggableLegendinstance d'assistance. Sinon, cela renvoie None .

set_frame_on ( b ) [source] #

Définissez si le patch de la boîte de légende est dessiné.

Paramètres :
b bool
set_ncols ( ncols ) [source] #

Définissez le nombre de colonnes.

set_title ( titre , prop = Aucun ) [source] #

Définissez le titre de la légende et le style du titre.

Paramètres :
chaîne de titre

Le titre de la légende.

accessoire font_manager.FontPropertiesou stroupathlib.Path

Les propriétés de police du titre de la légende. Si a str, il est interprété comme un modèle fontconfig analysé par FontProperties. Si a pathlib.Path, il est interprété comme le chemin absolu vers un fichier de police.

méthode de classe update_default_handler_map ( handler_map ) [ source] #

Mettez à jour la carte globale du gestionnaire par défaut, partagée par toutes les légendes.

zordre = 5 #