matplotlib.pyplot.legend #

matplotlib.pyplot. Legende ( * args , ** kwargs ) [Quelle] #

Platziere eine Legende auf den Äxten.

Rufsignaturen:

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

Die Anrufsignaturen entsprechen den folgenden unterschiedlichen Verwendungsmöglichkeiten dieser Methode:

1. Automatische Erkennung der Elemente, die in der Legende angezeigt werden sollen

Die der Legende hinzuzufügenden Elemente werden automatisch bestimmt, wenn Sie keine zusätzlichen Argumente übergeben.

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

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()

Notiz

Bestimmte Künstler können von der automatischen Auswahl der Legendenelemente ausgeschlossen werden, indem ein Label verwendet wird, das mit einem Unterstrich „_“ beginnt. Eine Zeichenfolge, die mit einem Unterstrich beginnt, ist die Standardbezeichnung für alle Künstler, sodass ein Aufruf Axes.legendohne Argumente und ohne manuelles Festlegen der Bezeichnungen dazu führt, dass keine Legende gezeichnet wird.

2. Explizite Auflistung der Künstler und Labels in der Legende

Um die volle Kontrolle darüber zu haben, welche Künstler einen Legendeneintrag haben, ist es möglich, ein Iterable von Legend Artists gefolgt von einem Iterable von Legend Labels zu übergeben:

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

3. Explizite Auflistung der Künstler in der Legende

Dies ist ähnlich wie 2, aber die Labels werden aus den Label-Eigenschaften des Künstlers ü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 Plotelemente

Entmutigt

Von dieser Aufrufsignatur wird abgeraten, da die Beziehung zwischen Plotelementen und Labels nur durch ihre Reihenfolge implizit ist und leicht verwechselt werden kann.

Um eine Legende für alle Künstler auf einer Achse zu erstellen, rufen Sie diese Funktion mit einer iterierbaren Zeichenkette auf, eine für jedes Legendenelement. Zum Beispiel:

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

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

Die Länge von Griffen und Etiketten sollte in diesem Fall gleich sein. Wenn dies nicht der Fall ist, werden sie auf die kleinere Länge gekürzt.

Etikettenliste von str, optional

Eine Liste von Labels, die neben den Künstlern angezeigt werden sollen. Verwenden Sie dies zusammen mit Griffen , wenn Sie die volle Kontrolle über die in der Legende angezeigten Elemente benötigen und der oben beschriebene automatische Mechanismus nicht ausreicht.

Rückgaben :
Legend
Andere Parameter :
loc str oder Gleitkommapaar, Standard: rcParams["legend.loc"](Standard: 'best') ('best' für Achsen, 'upper right' für Zahlen)

Der Ort der Legende.

Die Saiten platzieren die Legende an der entsprechenden Ecke der Achsen/Figur.'upper left', 'upper right', 'lower left', 'lower right'

Die Saiten platzieren die Legende in der Mitte der entsprechenden Kante der Achsen/Figur.'upper center', 'lower center', 'center left', 'center right'

Die Schnur 'center'platziert die Legende in der Mitte der Achsen/Figur.

Die Zeichenfolge 'best'platziert die Legende an der Position unter den bisher definierten neun Positionen mit der minimalen Überschneidung mit anderen gezeichneten Künstlern. Diese Option kann bei Diagrammen mit großen Datenmengen ziemlich langsam sein; Ihre Plotgeschwindigkeit kann von der Angabe eines bestimmten Standorts profitieren.

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).

Aus Gründen der Abwärtskompatibilität kann (aber kein anderer Ort) auch geschrieben werden , und jeder "Zeichenfolge"-Ort kann auch als numerischer Wert angegeben werden:'center right''right'

Standortzeichenfolge

Ortscode

'Beste'

0

'oben rechts'

1

'Oben links'

2

'Unten links'

3

'rechts unten'

4

'Rechts'

5

'Mitte links'

6

'Mitte rechts'

7

'untere Mitte'

8

'obere Mitte'

9

'Center'

10

bbox_to_anchor BboxBase, 2-Tupel oder 4-Tupel von Floats

Box, die verwendet wird, um die Legende in Verbindung mit loc zu positionieren . Standardmäßig axes.bbox(wenn als Methode zu aufgerufen Axes.legend) oder figure.bbox(wenn Figure.legend). Dieses Argument ermöglicht eine beliebige Platzierung der Legende.

Bbox-Koordinaten werden in dem von bbox_transform angegebenen Koordinatensystem interpretiert , mit den Standardtransformationsachsen oder Figurenkoordinaten, je nachdem, welche legendaufgerufen wird.

Wenn ein 4-Tupel oder BboxBaseangegeben ist, dann gibt es die Box an , in der die Legende platziert wird. Um die Legende an der besten Stelle im unteren rechten Quadranten der Achsen (oder Abbildungen) zu platzieren:(x, y, width, height)

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

Ein 2-Tupel platziert die durch loc angegebene Ecke der Legende bei x, y. Um beispielsweise die obere rechte Ecke der Legende in die Mitte der Achsen (oder Abbildungen) zu setzen, können die folgenden Schlüsselwörter verwendet werden:(x, y)

loc='upper right', bbox_to_anchor=(0.5, 0.5)
ncols int, Standard: 1

Die Anzahl der Spalten, die die Legende hat.

Aus Gründen der Abwärtskompatibilität wird die Schreibweise ncol ebenfalls unterstützt, es wird jedoch davon abgeraten. Wenn beide angegeben sind, hat ncols Vorrang.

prop Keine oder matplotlib.font_manager.FontPropertiesoder dict

Die Schrifteigenschaften der Legende. Bei None (Standard) wird der Strom matplotlib.rcParamsverwendet.

fontsize int oder {'xx-klein', 'x-klein', 'klein', 'mittel', 'groß', 'x-groß', 'xx-groß'}

Die Schriftgröße der Legende. Wenn der Wert numerisch ist, ist die Größe die absolute Schriftgröße in Punkt. Zeichenfolgenwerte sind relativ zur aktuellen Standardschriftgröße. Dieses Argument wird nur verwendet, wenn prop nicht angegeben ist.

labelcolor str oder list, default: rcParams["legend.labelcolor"](default: 'None')

Die Farbe des Textes in der Legende. Entweder eine gültige Farbzeichenfolge (z. B. „rot“) oder eine Liste von Farbzeichenfolgen. Die Etikettenfarbe kann auch mit 'linecolor', 'markerfacecolor' (oder 'mfc') oder 'markeredgecolor' (oder 'mec') an die Farbe der Linie oder Markierung angepasst werden.

Labelcolor kann global mit gesetzt werden rcParams["legend.labelcolor"](default: 'None'). Wenn keine, verwenden rcParams["text.color"]Sie (Standard: 'black').

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

Die Anzahl der Markierungspunkte in der Legende beim Erstellen eines Legendeneintrags für eine Line2D(Linie).

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

Die Anzahl der Markierungspunkte in der Legende beim Erstellen eines Legendeneintrags für ein PathCollection(Streudiagramm).

scatteryoffsets Iterierbar von Floats, Standard:[0.375, 0.5, 0.3125]

Der vertikale Versatz (relativ zur Schriftgröße) für die Markierungen, die für einen Streudiagramm-Legendeneintrag erstellt wurden. 0,0 steht ganz unten im Legendentext und 1,0 ganz oben. Um alle Markierungen auf derselben Höhe zu zeichnen, stellen Sie auf ein [0.5].

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

Die relative Größe der Legendenmarkierungen im Vergleich zu den ursprünglich gezeichneten.

markerfirst bool, Standard: True

Wenn True , wird die Legendenmarkierung links von der Legendenbeschriftung platziert. Bei False wird die Legendenmarkierung rechts neben der Legendenbeschriftung platziert.

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

Ob die Legende auf einem Patch (Frame) gezeichnet werden soll.

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

Ob runde Kanten um die aktiviert werden sollen, die FancyBboxPatchden Hintergrund der Legende bilden.

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

Ob man einen Schatten hinter die Legende zeichnet.

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

Die Alpha-Transparenz des Hintergrunds der Legende. Wenn Shadow aktiviert ist und framealpha auf , wird Noneder Standardwert ignoriert.

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

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

edgecolor "erben" oder color, default: rcParams["legend.edgecolor"](default: '0.8')

Die Randfarbe des Hintergrundpatches der Legende. Wenn "inherit", verwenden Sie take rcParams["axes.edgecolor"](Standard: 'black').

Modus {"Erweitern", Keine}

Wenn der Modus auf eingestellt ist, "expand"wird die Legende horizontal erweitert, um den Achsenbereich auszufüllen (oder bbox_to_anchor , wenn die Größe der Legende definiert wird).

bbox_transform Keine odermatplotlib.transforms.Transform

Die Transformation für den Begrenzungsrahmen ( bbox_to_anchor ). Bei einem Wert von None(Standard) wird die Axes- transAxesTransformation verwendet.

title str oder None

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

title_fontproperties Keine oder matplotlib.font_manager.FontPropertiesoder dict

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

title_fontsize int 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 Größenparameter in title_fontproperties .

Ausrichtung {'zentriert', 'links', 'rechts'}, Standard: 'zentriert'

Die Ausrichtung des Legendentitels und des Eintragsfelds. Die Einträge sind als ein einziger Block ausgerichtet, sodass Markierungen immer aneinandergereiht sind.

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

Der gebrochene Leerraum innerhalb des Legendenrahmens in Einheiten der Schriftgröße.

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

Der vertikale Abstand zwischen den Legendeneinträgen in Einheiten der Schriftgröße.

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

Die Länge der Legendenziehpunkte in Einheiten der Schriftgröße.

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

Die Höhe der Legendenziehpunkte in Einheiten der Schriftgröße.

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

Das Pad zwischen dem Legendengriff und dem Text in Einheiten der Schriftgröße.

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

Das Pad zwischen den Achsen und dem Legendenrand in Einheiten der Schriftgröße.

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

Der Abstand zwischen Spalten in Einheiten der Schriftgröße.

handler_map dict oder None

Das benutzerdefinierte Wörterbuch ordnet Instanzen oder Typen einem Legendenhandler zu. Diese handler_map aktualisiert die unter matplotlib.legend.Legend.get_legend_handler_map.

Siehe auch

Figure.legend

Anmerkungen

Einige Künstler werden von dieser Funktion nicht unterstützt. Einzelheiten finden Sie in der Anleitung zur Legende.

Beispiele

( Quellcode , png )

../../_images/legend_00_00.png

Beispiele mit matplotlib.pyplot.legend#

Auswahl der Fehlerbalkengrenze

Auswahl der Fehlerbalkengrenze

Auswahl der Fehlerbalkengrenze
Plotten von maskierten und NaN-Werten

Plotten von maskierten und NaN-Werten

Plotten von maskierten und NaN-Werten
Treppen-Demo

Treppen-Demo

Treppen-Demo
Step-Demo

Step-Demo

Step-Demo
Unendliche Linien

Unendliche Linien

Unendliche Linien
Findobj-Demo

Findobj-Demo

Findobj-Demo
Zorder-Demo

Zorder-Demo

Zorder-Demo
Die Sankey-Klasse

Die Sankey-Klasse

Die Sankey-Klasse
SVG-Histogramm

SVG-Histogramm

SVG-Histogramm
Schnellstartanleitung

Schnellstartanleitung

Schnellstartanleitung
Legendenführer

Legendenführer

Legendenführer