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:
DraggableOffsetBoxWrapper um a
Legend, um das Ziehen mit der Maus zu unterstützen.- Parameter :
- Legende
Legend 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.
- 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:
ArtistPlatzieren Sie eine Legende auf den Achsen am Ort loc.
- Parameter :
- Eltern
AxesbzwFigure 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
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, 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
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", 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-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.
- 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_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 :
- 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_visiblegibt False zurück).- Parameter :
- Renderer-
RendererBaseUnterklasse.
- 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
Rectangleverwendet 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-
RendererBaseUnterklasse Renderer, der zum Zeichnen der Figuren verwendet wird (z. B.
fig.canvas.get_renderer())
- Renderer-
- Rückgaben :
BboxDer 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
BboxBaseoder 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
BboxBaseoder Tupel Der Begrenzungsrahmen kann auf folgende Weise angegeben werden:
Eine
BboxBaseInstanzEin 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 :
DraggableLegendoder KeineWenn der Zustand
Truethis ist , wird dieDraggableLegendHilfsinstanz 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.FontPropertiesoderstroderpathlib.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 #