matplotlib.axes.Axes.legend#

Axes.legend(*args, **kwargs)[Quelle]#

Platziert eine Legende im Axes.

Aufrufsignaturen

legend()
legend(handles, labels)
legend(handles=handles)
legend(labels)

Die Aufrufsignaturen entsprechen den folgenden verschiedenen Möglichkeiten, diese Methode zu verwenden

1. Automatische Erkennung von Elementen für die Legende

Die Elemente, die der Legende hinzugefügt werden sollen, werden automatisch ermittelt, wenn Sie keine zusätzlichen Argumente übergeben.

In diesem Fall werden die Beschriftungen vom Künstler übernommen. Sie können sie entweder bei der Erstellung des Künstlers angeben oder durch Aufruf der Methode set_label() für den Künstler festlegen.

ax.plot([1, 2, 3], label='Inline label')
ax.legend()

oder

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

Hinweis

Spezifische Künstler können von der automatischen Auswahl von Legenden-Elementen ausgeschlossen werden, indem ein mit einem Unterstrich "_" beginnender Bezeichner verwendet wird. Eine Zeichenkette, die mit einem Unterstrich beginnt, ist der Standardbezeichner für alle Künstler. Daher führt der Aufruf von Axes.legend ohne Argumente und ohne manuelle Festlegung der Bezeichner zu einer UserWarning und dem Zeichnen einer leeren Legende.

2. Explizites Auflisten der Künstler und Beschriftungen in der Legende

Für die vollständige Kontrolle darüber, welche Künstler einen Legendeneintrag haben, ist es möglich, ein Iterable von Legendenkünstlern gefolgt von einem Iterable von Legendenbeschriftungen zu übergeben

ax.legend([line1, line2, line3], ['label1', 'label2', 'label3'])

3. Explizites Auflisten der Künstler in der Legende

Dies ist ähnlich wie 2, aber die Beschriftungen werden aus den Label-Eigenschaften der Künstler übernommen. Beispiel

line1, = ax.plot([1, 2, 3], label='label1')
line2, = ax.plot([1, 2, 3], label='label2')
ax.legend(handles=[line1, line2])

4. Beschriften vorhandener Plot-Elemente

Veraltet

Diese Aufrufsignatur wird nicht empfohlen, da die Beziehung zwischen Plot-Elementen und Beschriftungen nur implizit durch ihre Reihenfolge gegeben ist und leicht durcheinander geraten kann.

Um eine Legende für alle Künstler auf einer Achse zu erstellen, rufen Sie diese Funktion mit einem iterierbaren Objekt von Zeichenketten auf, eine für jedes Legenden-Element. Zum Beispiel:

ax.plot([1, 2, 3])
ax.plot([5, 6, 7])
ax.legend(['First line', 'Second line'])
Parameter:
handlesListe von (Artist oder Tupel von Artist), optional

Eine Liste von Künstlern (Linien, Patches), die der Legende hinzugefügt werden sollen. Verwenden Sie dies zusammen mit labels, wenn Sie vollständige Kontrolle darüber benötigen, was in der Legende angezeigt wird und der oben beschriebene automatische Mechanismus nicht ausreicht.

Die Länge von Handles und Labels sollte in diesem Fall gleich sein. Wenn sie nicht gleich sind, werden sie auf die kleinere Länge gekürzt.

Wenn ein Eintrag ein Tupel enthält, wird der Legenden-Handler für alle Künstler im Tupel neben einem einzelnen Bezeichner platziert.

labelsListe von str, optional

Eine Liste von Bezeichnern, die neben den Künstlern angezeigt werden sollen. Verwenden Sie dies zusammen mit handles, wenn Sie die volle Kontrolle darüber benötigen, was in der Legende angezeigt wird, und der automatische Mechanismus, der oben beschrieben wurde, nicht ausreicht.

Gibt zurück:
Legende
Andere Parameter:
locstr oder Paar von Floats, Standard: rcParams["legend.loc"] (Standard: 'best')

Die Position der Legende.

Die Zeichenketten 'upper left', 'upper right', 'lower left', 'lower right' platzieren die Legende in der entsprechenden Ecke der Achse.

Die Zeichenketten 'upper center', 'lower center', 'center left', 'center right' platzieren die Legende in der Mitte des entsprechenden Rands der Achse.

Die Zeichenkette 'center' platziert die Legende in der Mitte der Achse.

Die Zeichenkette 'best' platziert die Legende an der Position, unter den neun bisher definierten Positionen, mit der geringsten Überlappung mit anderen gezeichneten Künstlern. Diese Option kann bei Plots mit großen Datenmengen sehr langsam sein; Ihre Plotgeschwindigkeit kann davon profitieren, wenn Sie eine spezifische Position angeben.

Die Position kann auch ein 2-Tupel sein, das die Koordinaten der unteren linken Ecke der Legende in Achsenkoordinaten angibt (in diesem Fall wird *bbox_to_anchor* ignoriert).

Zur Abwärtskompatibilität kann 'center right' (aber keine andere Position) auch als 'right' geschrieben werden, und jede "Zeichenketten"-Position kann auch als numerischer Wert angegeben werden.

Positionszeichenkette

Positions-Code

'best' (nur Achsen)

0

'oben rechts'

1

'oben links'

2

'unten links'

3

'unten rechts'

4

'rechts'

5

'links mitte'

6

'rechts mitte'

7

'unten mitte'

8

'oben mitte'

9

'mitte'

10

bbox_to_anchorBboxBase, 2-Tupel oder 4-Tupel von Floats

Box, die zur Positionierung der Legende in Verbindung mit *loc* verwendet wird. Standardmäßig ist dies axes.bbox (wenn als Methode von Axes.legend aufgerufen) oder figure.bbox (wenn figure.legend). Dieses Argument ermöglicht eine beliebige Platzierung der Legende.

Bbox-Koordinaten werden im durch *bbox_transform* gegebenen Koordinatensystem interpretiert, wobei die Standardtransformation die Achsen- oder Figure-Koordinaten sind, je nachdem, welche legend aufgerufen wird.

Wenn ein 4-Tupel oder ein BboxBase gegeben ist, dann spezifiziert es die Bbox (x, y, width, height), in der die Legende platziert wird. Um die Legende an der besten Position im unteren rechten Quadranten der Achse (oder Figur) zu platzieren

loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5)

Ein 2-Tupel (x, y) platziert die Ecke der Legende, die durch *loc* angegeben wird, bei x, y. Zum Beispiel, um die obere rechte Ecke der Legende in der Mitte der Achse (oder Figur) zu platzieren, können die folgenden Schlüsselwörter verwendet werden:

loc='upper right', bbox_to_anchor=(0.5, 0.5)
ncolsint, default: 1

Die Anzahl der Spalten, die die Legende hat.

Zur Abwärtskompatibilität wird auch die Schreibweise *ncol* unterstützt, diese wird jedoch nicht empfohlen. Wenn beide angegeben sind, hat *ncols* Vorrang.

propNone oder FontProperties oder dict

Die Schrifteigenschaften der Legende. Wenn None (Standard), werden die aktuellen matplotlib.rcParams verwendet.

fontsizeint oder {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}

Die Schriftgröße der Legende. Wenn der Wert numerisch ist, ist die Größe die absolute Schriftgröße in Punkten. Zeichenkettenwerte sind relativ zur aktuellen Standard-Schriftgröße. Dieses Argument wird nur verwendet, wenn *prop* nicht angegeben ist.

labelcolorstr oder Liste, Standard: rcParams["legend.labelcolor"] (Standard: 'None')

Die Farbe des Textes in der Legende. Entweder eine gültige Farbsymbolkette (z. B. 'red') oder eine Liste von Farbsymbolketten. Die *labelcolor* kann auch so eingestellt werden, dass sie mit der Farbe der Linie oder des Markers übereinstimmt, indem 'linecolor', 'markerfacecolor' (oder 'mfc') oder 'markeredgecolor' (oder 'mec') verwendet wird.

Die *labelcolor* kann global über rcParams["legend.labelcolor"] (Standard: 'None') gesetzt werden. Wenn None, verwenden Sie rcParams["text.color"] (Standard: 'black').

numpointsint, Standard: rcParams["legend.numpoints"] (Standard: 1)

Die Anzahl der Marker-Punkte in der Legende beim Erstellen eines Legenden-Eintrags für ein Line2D (Linie).

scatterpointsint, Standard: rcParams["legend.scatterpoints"] (Standard: 1)

Die Anzahl der Marker-Punkte in der Legende beim Erstellen eines Legenden-Eintrags für ein PathCollection (Streudiagramm).

scatteryoffsetsiterierbares Objekt von Floats, Standard: [0.375, 0.5, 0.3125]

Der vertikale Versatz (relativ zur Schriftgröße) für die Marker, die für einen Legenden-Eintrag eines Streudiagramms erstellt werden. 0.0 ist an der Basis des Legendentextes, und 1.0 ist an der Oberseite. Um alle Marker auf derselben Höhe zu zeichnen, setzen Sie dies auf [0.5].

markerscalefloat, Standard: rcParams["legend.markerscale"] (Standard: 1.0)

Die relative Größe von Legenden-Markern im Vergleich zu den ursprünglich gezeichneten.

markerfirstbool, Standard: True

Wenn *True*, wird der Legenden-Marker links vom Legenden-Bezeichner platziert. Wenn *False*, wird der Legenden-Marker rechts vom Legenden-Bezeichner platziert.

reversebool, Standard: False

Wenn *True*, werden die Legenden-Bezeichner in umgekehrter Reihenfolge zur Eingabe angezeigt. Wenn *False*, werden die Legenden-Bezeichner in derselben Reihenfolge wie die Eingabe angezeigt.

Hinzugefügt in Version 3.7.

frameonbool, Standard: rcParams["legend.frameon"] (Standard: True)

Gibt an, ob die Legende auf einem Patch (Rahmen) gezeichnet werden soll.

fancyboxbool, Standard: rcParams["legend.fancybox"] (Standard: True)

Gibt an, ob abgerundete Kanten um den FancyBboxPatch aktiviert werden sollen, der den Hintergrund der Legende bildet.

shadowNone, bool oder dict, Standard: rcParams["legend.shadow"] (Standard: False)

Gibt an, ob ein Schatten hinter der Legende gezeichnet werden soll. Der Schatten kann mit Patch-Schlüsselwörtern konfiguriert werden. Die Anpassung über rcParams["legend.shadow"] (Standard: False) wird derzeit nicht unterstützt.

framealphafloat, Standard: rcParams["legend.framealpha"] (Standard: 0.8)

Die Alpha-Transparenz des Legenden-Hintergrunds. Wenn *shadow* aktiviert ist und *framealpha* None ist, wird der Standardwert ignoriert.

facecolor"inherit" oder Farbe, Standard: rcParams["legend.facecolor"] (Standard: 'inherit')

Die Hintergrundfarbe der Legende. Wenn "inherit", verwenden Sie rcParams["axes.facecolor"] (Standard: 'white').

edgecolor"inherit" oder Farbe, Standard: rcParams["legend.edgecolor"] (Standard: '0.8')

Die Kantenfarbe des Legenden-Hintergrund-Patches. Wenn "inherit", verwenden Sie rcParams["axes.edgecolor"] (Standard: 'black').

mode{"expand", None}

Wenn *mode* auf "expand" gesetzt ist, wird die Legende horizontal erweitert, um den Achsenbereich (oder *bbox_to_anchor*, falls dieser die Größe der Legende bestimmt) auszufüllen.

bbox_transformNone oder Transform

Die Transformation für die Bounding Box (*bbox_to_anchor*). Für einen Wert von None (Standard) wird die transAxes-Transformation der Achse verwendet.

titlestr oder None

Der Titel der Legende. Standard ist kein Titel (None).

title_fontpropertiesNone oder FontProperties oder dict

Die Schrifteigenschaften des Legendentitels. Wenn None (Standard), wird das Argument *title_fontsize* verwendet, falls vorhanden; wenn auch *title_fontsize* None ist, wird die aktuelle rcParams["legend.title_fontsize"] (Standard: None) verwendet.

title_fontsizeint oder {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, Standard: rcParams["legend.title_fontsize"] (Standard: None)

Die Schriftgröße des Legendentitels. Hinweis: Dies kann nicht mit *title_fontproperties* kombiniert werden. Wenn Sie die Schriftgröße zusammen mit anderen Schrifteigenschaften festlegen möchten, verwenden Sie den Parameter *size* in *title_fontproperties*.

alignment{'center', 'left', 'right'}, Standard: 'center'

Die Ausrichtung des Legendentitels und der Box der Einträge. Die Einträge werden als einzelner Block ausgerichtet, sodass die Marker immer aufgereiht sind.

borderpadfloat, Standard: rcParams["legend.borderpad"] (Standard: 0.4)

Der Bruchteil des Leerraums innerhalb des Legendenrahmens, in Schriftgrößen-Einheiten.

labelspacingfloat, Standard: rcParams["legend.labelspacing"] (Standard: 0.5)

Der vertikale Abstand zwischen den Legenden-Einträgen, in Schriftgrößen-Einheiten.

handlelengthfloat, Standard: rcParams["legend.handlelength"] (Standard: 2.0)

Die Länge der Legenden-Handles, in Schriftgrößen-Einheiten.

handleheightfloat, Standard: rcParams["legend.handleheight"] (Standard: 0.7)

Die Höhe der Legenden-Handles, in Schriftgrößen-Einheiten.

handletextpadfloat, Standard: rcParams["legend.handletextpad"] (Standard: 0.8)

Der Abstand zwischen dem Legenden-Handle und dem Text, in Schriftgrößen-Einheiten.

borderaxespadfloat, Standard: rcParams["legend.borderaxespad"] (Standard: 0.5)

Der Abstand zwischen der Achse und dem Legenden-Rahmen, in Schriftgrößen-Einheiten.

columnspacingfloat, Standard: rcParams["legend.columnspacing"] (Standard: 2.0)

Der Abstand zwischen Spalten, in Schriftgrößen-Einheiten.

handler_mapdict oder None

Das benutzerdefinierte Wörterbuch, das Instanzen oder Typen einem Legenden-Handler zuordnet. Diese *handler_map* aktualisiert die Standard-Handler-Map unter matplotlib.legend.Legend.get_legend_handler_map.

draggablebool, Standard: False

Gibt an, ob die Legende per Maus verschoben werden kann.

Siehe auch

Figure.legend

Anmerkungen

Einige Künstler werden von dieser Funktion nicht unterstützt. Details finden Sie im Legenden-Leitfaden.

Beispiele

(Quellcode, 2x.png, png)

Beispiele für die Verwendung von matplotlib.axes.Axes.legend#

Inset Locator Demo

Inset Locator Demo

Parasite Simple

Parasite Simple

Parasite Achsen-Demo

Parasite Achsen-Demo

Parasite Achsen-Demo

Parasite Achsen-Demo

Legenden-Picking

Legenden-Picking

Konturfüllung mit Schraffur

Konturfüllung mit Schraffur

Konturfüllung und logarithmische Farbskala

Konturfüllung und logarithmische Farbskala

Tricontour Demo

Tricontour Demo

Unendliche Linien

Unendliche Linien

Balkendiagramm mit einzelnen Balkenfarben

Balkendiagramm mit einzelnen Balkenfarben

Balkendiagramm mit Beschriftungen

Balkendiagramm mit Beschriftungen

Gestapeltes Balkendiagramm

Gestapeltes Balkendiagramm

Gruppiertes Balkendiagramm mit Beschriftungen

Gruppiertes Balkendiagramm mit Beschriftungen

Darstellung kategorialer Variablen

Darstellung kategorialer Variablen

fill_between mit Transparenz

fill_between mit Transparenz

Hut-Graph

Hut-Graph

Diskrete Verteilung als horizontales Balkendiagramm

Diskrete Verteilung als horizontales Balkendiagramm

Konfiguration von gestrichelten Linienstilen

Konfiguration von gestrichelten Linienstilen

Linien mit einem getickten Pfad-Effekt

Linien mit einem getickten Pfad-Effekt

Streudiagramm mit Legende

Streudiagramm mit Legende

Stackplots und Streamgraphen

Stackplots und Streamgraphen

Stairs Demo

Stairs Demo

Patheffect Demo

Patheffect Demo

TickedStroke Patheffect

TickedStroke Patheffect

2D-Daten in 3D-Diagramm darstellen

2D-Daten in 3D-Diagramm darstellen

Daten auf Achsen-Ansichtslimits beschneiden

Daten auf Achsen-Ansichtslimits beschneiden

Parametrische Kurve

Parametrische Kurve

Balken eines Kreises

Balken eines Kreises

Ein Kreis und ein Donut mit Beschriftungen

Ein Kreis und ein Donut mit Beschriftungen

Polar-Legende

Polar-Legende

Asinh-Skala

Asinh-Skala

Anatomie einer Figur

Anatomie einer Figur

Mehrere Y-Achsen mit Spines

Mehrere Y-Achsen mit Spines

Darstellung einer Konfidenzellipse eines zweidimensionalen Datensatzes

Darstellung einer Konfidenzellipse eines zweidimensionalen Datensatzes

Bihistogramm

Bihistogramm

Kumulative Verteilungen

Kumulative Verteilungen

Die Histogrammfunktion (hist) mit mehreren Datensätzen

Die Histogrammfunktion (hist) mit mehreren Datensätzen

Histogramm-Bins, Dichte und Gewicht

Histogramm-Bins, Dichte und Gewicht

Sekundäre Achse

Sekundäre Achse

Benutzerdefinierte Legenden erstellen

Benutzerdefinierte Legenden erstellen

Legende mit vordefinierten Beschriftungen

Legende mit vordefinierten Beschriftungen

Legenden-Demo

Legenden-Demo

Mathtext

Mathtext

Mathematische Ausdrücke mit TeX rendern

Mathematische Ausdrücke mit TeX rendern

Benutzerdefinierter Tick-Formatierer für Zeitreihen

Benutzerdefinierter Tick-Formatierer für Zeitreihen

Gruppenbalkendiagramm mit Einheiten

Gruppenbalkendiagramm mit Einheiten

Einfache Legende01

Einfache Legende01

Einfache Legende02

Einfache Legende02

Animationen mit Matplotlib

Animationen mit Matplotlib

Leitfaden für eingeschränkte Layouts

Leitfaden für eingeschränkte Layouts

Legenden-Anleitung

Legenden-Anleitung

Tight layout guide

Tight layout guide

Farben spezifizieren

Farben spezifizieren

Schnelleinstieg

Schnelleinstieg