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 Legend
classe 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_handler
module. 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
Legend
pour prendre en charge le déplacement de la souris.- Paramètres :
- Légende
Legend
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 .
- Légende
- 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
Axes
ouFigure
L'artiste qui contient la légende.
- gère la liste des
Artist
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.
- parent
- 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 :
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. Voirset_bbox_to_anchor
pour 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 souris
matplotlib.backend_bases.MouseEvent
- événement de souris
- 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
- sous-classe de moteur de rendu .
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
- 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.
- 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_tightbbox ( moteur de rendu = Aucun ) [source] #
Comme
Artist.get_window_extent
, mais inclut tout découpage.- Paramètres :
- sous-classe de moteur de rendu
RendererBase
moteur de rendu qui sera utilisé pour dessiner les figures (c'est-à-dire
fig.canvas.get_renderer()
)
- sous-classe de moteur de rendu
- Retours :
Bbox
La boîte englobante englobante (en coordonnées de pixels de la figure).
- 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
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
{'centre', 'gauche', 'droite'}.
scalaire ou Aucun
bourdonner
BboxBase
ou tuplebourdonner
Patch ou (chemin, transformation) ou aucun
bourdonner
bourdonner
chaîne
bourdonner
objet
bourdonner
inconnue
Aucun ou bool ou flottant ou appelable
bourdonner
(échelle : flottant, longueur : flottant, caractère aléatoire : flottant)
booléen ou Aucun
chaîne
chaîne
bourdonner
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
BboxBase
ou tuple La boîte englobante peut être spécifiée des manières suivantes :
Un
BboxBase
exempleUn 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.
- bbox
- 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 :
DraggableLegend
ou AucunSi l'état est
True
this renvoie l'DraggableLegend
instance 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_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.FontProperties
oustr
oupathlib.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é parFontProperties
. Si apathlib.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 #