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 Legend
Klasse 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_handler
Modul 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 :
- Legende
Legend
Die
Legend
zu 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.
- Legende
- 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
Axes
bzwFigure
Der Künstler, der die Legende enthält.
- Griffe Liste von
Artist
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.
- Eltern
- 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 aufgerufenAxes.legend
) oderfigure.bbox
(wennFigure.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
legend
aufgerufen wird.Wenn ein 4-Tupel oder
BboxBase
angegeben 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.FontProperties
oder dict Die Schrifteigenschaften der Legende. Bei None (Standard) wird der Strom
matplotlib.rcParams
verwendet.- 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, verwendenrcParams["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
FancyBboxPatch
den 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
None
der Standardwert ignoriert.- facecolor "erben" oder Farbe, Standard:
rcParams["legend.facecolor"]
(Standard:'inherit'
) Die Hintergrundfarbe der Legende. Wenn
"inherit"
, verwendenrcParams["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 takercParams["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 oder
matplotlib.transforms.Transform
Die Transformation für den Begrenzungsrahmen ( bbox_to_anchor ). Bei einem Wert von
None
(Standard) wird die Axes-transAxes
Transformation verwendet.- title str oder None
Der Titel der Legende. Standard ist kein Titel (
None
).- title_fontproperties Keine oder
matplotlib.font_manager.FontProperties
oder 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
.
- loc str oder Gleitkommapaar, Standard:
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. Sieheset_bbox_to_anchor
fü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 :
- Mausereignis
matplotlib.backend_bases.MouseEvent
- Mausereignis
- 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-
RendererBase
Unterklasse.
- Renderer-
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
- Klassenmethode get_default_handler_map ( ) [Quelle] #
Gibt die globale Standard-Handler-Karte zurück, die von allen Legenden geteilt wird.
- get_frame ( ) [Quelle] #
Geben Sie das zurück, das
Rectangle
verwendet wurde, um die Legende einzurahmen.
- 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_tightbbox ( renderer = None ) [Quelle] #
Wie
Artist.get_window_extent
, enthält jedoch jegliches Ausschnitt.- Parameter :
- Renderer-
RendererBase
Unterklasse Renderer, der zum Zeichnen der Figuren verwendet wird (z. B.
fig.canvas.get_renderer()
)
- Renderer-
- Rückgaben :
Bbox
Der umschließende Begrenzungsrahmen (in der Abbildung Pixelkoordinaten).
- 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
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
{'Mitte', 'links', 'rechts'}.
Skalar oder Keine
bool
BboxBase
oder Tupelbool
Patch oder (Pfad, Transform) oder None
bool
bool
Str
bool
Objekt
bool
Unbekannt
None oder bool oder float oder aufrufbar
bool
(Maßstab: Float, Länge: Float, Zufälligkeit: Float)
bool oder Keine
Str
Str
bool
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
BboxBase
oder Tupel Der Begrenzungsrahmen kann auf folgende Weise angegeben werden:
Eine
BboxBase
InstanzEin 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.
- bbox
- 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 :
DraggableLegend
oder KeineWenn der Zustand
True
this ist , wird dieDraggableLegend
Hilfsinstanz 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_title ( title , prop = None ) [Quelle] #
Legendentitel und Titelstil festlegen.
- Parameter :
- Titelstr _
Der Legendentitel.
- Stütze
font_manager.FontProperties
oderstr
oderpathlib.Path
Die Schrifteigenschaften des Legendentitels. Wenn ein
str
, wird es als ein Fontconfig-Muster interpretiert, das von geparst wirdFontProperties
. Wenn einpathlib.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 #