matplotlib.legend#

Das Legendenmodul definiert die Legendenklasse, die für das Zeichnen von Legenden verantwortlich ist, die Achsen und/oder Figuren zugeordnet sind.

Wichtig

Es ist unwahrscheinlich, dass Sie jemals manuell eine Legend-Instanz erstellen würden. Die meisten Benutzer würden normalerweise eine Legende über die legend Funktion erstellen. Für weitere Details zu Legenden gibt es auch einen Legendenführer .

Die LegendKlasse ist ein Container von Legendengriffen und Legendentexten.

Die Legenden-Handler-Karte gibt an, wie Legendengriffe von Künstlern (Linien, Patches usw.) in den Achsen oder Figuren erstellt werden. Standard-Legenden-Handler sind im legend_handlerModul definiert. Obwohl nicht alle Künstlertypen von den standardmäßigen Legenden-Handlern abgedeckt werden, können benutzerdefinierte Legenden-Handler definiert werden, um beliebige Objekte zu unterstützen.

Weitere Informationen finden Sie im Legendenleitfaden .

Klasse matplotlib.legend. DraggableLegend ( legend , use_blit = False , update = 'loc' ) [Quelle] #

Basen:DraggableOffsetBox

Wrapper um a Legend, um das Ziehen mit der Maus zu unterstützen.

Parameter :
LegendeLegend

Die Legendzu umschließende Instanz.

use_blit bool, optional

Verwenden Sie Blitting für eine schnellere Bildkomposition. Einzelheiten siehe FuncAnimation .

update {'loc', 'bbox'}, optional

Wenn "loc", aktualisiere den loc- Parameter der Legende beim Abschließen. Wenn „bbox“, aktualisieren Sie den bbox_to_anchor- Parameter.

finalize_offset ( ) [Quelle] #
Klasse matplotlib.legend. Legende ( Elternteil , Handles , Labels , * , loc = None , numpoints = None , markerscale = None , markerfirst = True , scatterpoints = None , scatteryoffsets = None , prop = None , fontsize = None , labelcolor = None , borderpad= None , labelspacing = None , handlelength = None , handleheight = None , handletextpad = None , borderaxespad = None , columnpacing = None , ncols = 1 , mode = None , fancybox = None , shadow = None , title = None , title_fontsize = None, framealpha = None , edgecolor = None , facecolor = None , bbox_to_anchor = None , bbox_transform = None , frameon = None , handler_map = None , title_fontproperties = None , align = 'center' , ncol = 1 ) [source] #

Basen:Artist

Platzieren Sie eine Legende auf den Achsen am Ort loc.

Parameter :
Eltern AxesbzwFigure

Der Künstler, der die Legende enthält.

Griffe Liste vonArtist

Eine Liste von Künstlern (Linien, Patches), die der Legende hinzugefügt werden sollen.

Etikettenliste von str

Eine Liste von Labels, die neben den Künstlern angezeigt werden sollen. Die Länge von Griffen und Etiketten sollte gleich sein. Wenn dies nicht der Fall ist, werden sie auf die kleinere der beiden Längen gekürzt.

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.

Anmerkungen

Benutzer können mit dem Schlüsselwortargument bbox_to_anchor einen beliebigen Ort für die Legende angeben . bbox_to_anchor kann ein BboxBase(oder davon abgeleitetes) oder ein Tupel aus 2 oder 4 Floats sein. Siehe set_bbox_to_anchorfür mehr Details.

Die Position der Legende kann angegeben werden, indem loc mit einem Tupel von 2 Gleitkommazahlen festgelegt wird, was als untere linke Ecke der Legende in der normalisierten Achsenkoordinate interpretiert wird.

codes = {'best': 0, 'center': 10, 'center left': 6, 'center right': 7, 'lower center': 8, 'lower left': 3, 'lower right': 4, 'rechts': 5, 'oben Mitte': 9, 'oben links': 2, 'oben rechts': 1} #
enthält ( Ereignis ) [Quelle] #

Testen Sie, ob der Künstler das Mausereignis enthält.

Parameter :
Mausereignismatplotlib.backend_bases.MouseEvent
Rückgaben :
enthält bool

Ob irgendwelche Werte innerhalb des Radius liegen.

Details Dikt

Ein künstlerspezifisches Wörterbuch mit Details zum Ereigniskontext, z. B. welche Punkte im Auswahlradius enthalten sind. Einzelheiten finden Sie in den einzelnen Artist-Unterklassen.

draw ( Renderer ) [Quelle] #

Zeichnen Sie den Künstler (und seine Kinder) mit dem angegebenen Renderer.

Dies hat keine Auswirkung, wenn der Künstler nicht sichtbar ist ( Artist.get_visible gibt False zurück).

Parameter :
Renderer- RendererBaseUnterklasse.

Anmerkungen

Diese Methode wird in den Artist-Unterklassen überschrieben.

draw_frame ( b ) [Quelle] #

Legen Sie fest, ob das Legendenfeld-Patch gezeichnet wird.

Parameter :
b bool
get_alignment ( ) [Quelle] #

Rufen Sie den Ausrichtungswert des Legendenfelds ab

get_bbox_to_anchor ( ) [Quelle] #

Geben Sie die BBox zurück, in der die Legende verankert wird.

get_children ( ) [Quelle] #

Gibt eine Liste der untergeordneten Artists von this zurück Artist.

Klassenmethode get_default_handler_map ( ) [Quelle] #

Gibt die globale Standard-Handler-Karte zurück, die von allen Legenden geteilt wird.

get_draggable ( ) [Quelle] #

Zurück True, wenn die Legende ziehbar ist, Falseandernfalls.

get_frame ( ) [Quelle] #

Geben Sie das zurück, das Rectangleverwendet wurde, um die Legende einzurahmen.

get_frame_on ( ) [Quelle] #

Ermitteln Sie, ob das Legendenfeld-Patch gezeichnet wird.

static get_legend_handler ( legend_handler_map , orig_handle ) [Quelle] #

Gibt einen Legendenhandler von legend_handler_map zurück , der orig_handler entspricht .

legend_handler_map sollte ein Dictionary-Objekt sein (das von der get_legend_handler_map-Methode zurückgegeben wird).

Es prüft zunächst, ob das orig_handle selbst ein Schlüssel in der legend_handler_map ist und gibt den zugehörigen Wert zurück. Andernfalls prüft es jede der Klassen in ihrer Methodenauflösungsreihenfolge. Wenn kein passender Schlüssel gefunden wird, wird None.

get_legend_handler_map ( ) [Quelle] #

Gibt die Handlerzuordnung dieser Legendeninstanz zurück.

get_lines ( ) [Quelle] #

Gibt die Liste der Line2Ds in der Legende zurück.

get_patches ( ) [Quelle] #

Gibt die Liste der Patchs in der Legende zurück.

get_texts ( ) [Quelle] #

Gibt die Liste der Texts in der Legende zurück.

get_tightbbox ( renderer = None ) [Quelle] #

Wie Artist.get_window_extent, enthält jedoch jegliches Ausschnitt.

Parameter :
Renderer- RendererBaseUnterklasse

Renderer, der zum Zeichnen der Figuren verwendet wird (z. B. fig.canvas.get_renderer())

Rückgaben :
Bbox

Der umschließende Begrenzungsrahmen (in der Abbildung Pixelkoordinaten).

get_title ( ) [Quelle] #

Gibt die TextInstanz für den Legendentitel zurück.

get_window_extent ( renderer = None ) [Quelle] #

Holen Sie sich den Begrenzungsrahmen des Künstlers in den Anzeigebereich.

Breite und Höhe des Begrenzungsrahmens sind nichtnegativ.

Unterklassen sollten überschrieben werden, um sie in die "enge" Berechnung des Begrenzungsrahmens aufzunehmen. Standardmäßig wird ein leerer Begrenzungsrahmen bei 0, 0 zurückgegeben.

Seien Sie vorsichtig, wenn Sie diese Funktion verwenden, die Ergebnisse werden nicht aktualisiert, wenn sich die Ausdehnung des Künstlerfensters des Künstlers ändert. Die Ausdehnung kann sich aufgrund von Änderungen im Transformationsstapel ändern, z. B. durch Ändern der Achsenbegrenzungen, der Abbildungsgröße oder des verwendeten Zeichenbereichs (wie beim Speichern einer Abbildung). Dies kann zu unerwartetem Verhalten führen, bei dem interaktive Figuren auf dem Bildschirm gut aussehen, aber falsch gespeichert werden.

set ( * , agg_filter=<UNSCHARF> , align =<UNSCHARF> , alpha=<UNSCHARF > , animation=<UNSCHARF> , bbox_to_anchor=<UNSCHARF> ,clip_box =<UNSCHARF> , clip_on=<UNSCHARF> , clip_path=<UNSCHARF > , draggable= <UNSET> , frame_on=<UNSET> , gid=<UNSET> , in_layout=<UNSET> , label=<UNSET> , mouseover=<UNSET> , ncols=<UNSET> , path_effects=<UNSET> , picker=<UNSET> ,gerastert=<UNSET> ,sketch_params=<UNSCHARF> , snap=<UNSCHARF> , title=<UNSCHARF> , transform=<UNSCHARF> , url=<UNSCHARF> , visible=<UNSCHARF> , zorder=<UNSCHARF> ) [Quelle] #

Legen Sie mehrere Eigenschaften gleichzeitig fest.

Unterstützte Eigenschaften sind

Eigentum

Beschreibung

agg_filter

eine Filterfunktion, die ein (m, n, 3) Float-Array und einen dpi-Wert akzeptiert und ein (m, n, 3)-Array und zwei Offsets von der unteren linken Ecke des Bildes zurückgibt

alignment

{'Mitte', 'links', 'rechts'}.

alpha

Skalar oder Keine

animated

bool

bbox_to_anchor

BboxBaseoder Tupel

clip_box

Bbox

clip_on

bool

clip_path

Patch oder (Pfad, Transform) oder None

draggable

bool

figure

Figure

frame_on

bool

gid

Str

in_layout

bool

label

Objekt

mouseover

bool

ncols

Unbekannt

path_effects

AbstractPathEffect

picker

None oder bool oder float oder aufrufbar

rasterized

bool

sketch_params

(Maßstab: Float, Länge: Float, Zufälligkeit: Float)

snap

bool oder Keine

title

Str

transform

Transform

url

Str

visible

bool

zorder

schweben

set_alignment ( Ausrichtung ) [Quelle] #

Legen Sie die Ausrichtung des Legendentitels und des Eintragsfelds fest.

Die Einträge sind als ein einziger Block ausgerichtet, sodass Markierungen immer aneinandergereiht sind.

Parameter :
Ausrichtung {'zentriert', 'links', 'rechts'}.
set_bbox_to_anchor ( bbox , transform = None ) [Quelle] #

Legen Sie die Bbox fest, an der die Legende verankert wird.

Parameter :
bbox BboxBaseoder Tupel

Der Begrenzungsrahmen kann auf folgende Weise angegeben werden:

  • Eine BboxBaseInstanz

  • Ein Tupel von in der angegebenen Transformation (normalisierte Achsenkoordinate, wenn keine)(left, bottom, width, height)

  • Ein Tupel, bei dem angenommen wird, dass Breite und Höhe Null sind.(left, bottom)

  • None , um die Verankerung der BBox zu entfernen und die übergeordnete BBox zu verwenden.

transformieren Transform, optional

Eine Transformation, die auf den Begrenzungsrahmen angewendet werden soll. Wenn nicht angegeben, wird eine Transformation zum Begrenzungsrahmen des übergeordneten Elements verwendet.

Klassenmethode set_default_handler_map ( handler_map ) [Quelle] #

Legen Sie die globale Standard-Handler-Karte fest, die von allen Legenden geteilt wird.

set_draggable ( state , use_blit = False , update = 'loc' ) [Quelle] #

Aktivieren oder deaktivieren Sie die Unterstützung für das Ziehen mit der Maus der Legende.

Parameter :
Zustand bool

Ob das Ziehen mit der Maus aktiviert ist.

use_blit bool, optional

Verwenden Sie Blitting für eine schnellere Bildkomposition. Einzelheiten siehe FuncAnimation .

update {'loc', 'bbox'}, optional

Der beim Ziehen zu ändernde Legendenparameter:

  • 'loc': aktualisiere den loc - Parameter der Legende

  • 'bbox': Aktualisieren Sie den Parameter bbox_to_anchor der Legende

Rückgaben :
DraggableLegendoder Keine

Wenn der ZustandTrue this ist , wird die DraggableLegendHilfsinstanz zurückgegeben. Andernfalls wird None zurückgegeben .

set_frame_on ( b ) [Quelle] #

Legen Sie fest, ob das Legendenfeld-Patch gezeichnet wird.

Parameter :
b bool
set_ncols ( ncols ) [Quelle] #

Legen Sie die Anzahl der Spalten fest.

set_title ( title , prop = None ) [Quelle] #

Legendentitel und Titelstil festlegen.

Parameter :
Titelstr _

Der Legendentitel.

Stütze font_manager.FontPropertiesoder stroderpathlib.Path

Die Schrifteigenschaften des Legendentitels. Wenn ein str, wird es als ein Fontconfig-Muster interpretiert, das von geparst wird FontProperties. Wenn ein pathlib.Path, wird es als absoluter Pfad zu einer Schriftdatei interpretiert.

Klassenmethode update_default_handler_map ( handler_map ) [Quelle] #

Aktualisieren Sie die globale Standard-Handler-Karte, die von allen Legenden geteilt wird.

zorder = 5 #