matplotlib.legend_handler#

Standard-Legenden-Handler.

Wichtig

Dies ist eine Low-Level-API für Legenden, die die meisten Endanwender nicht benötigen.

Wir empfehlen, dass Sie sich mit dem Legendenführer vertraut machen, bevor Sie diese Dokumentation lesen.

Von Legenden-Handlern wird erwartet, dass sie aufrufbare Objekte mit folgender Signatur sind

legend_handler(legend, orig_handle, fontsize, handlebox)

Dabei ist legend die Legende selbst, orig_handle ist der ursprüngliche Plot, fontsize ist die Schriftgröße in Pixeln und handlebox ist eine OffsetBox-Instanz. Innerhalb des Aufrufs sollten Sie relevante Künstler erstellen (unter Verwendung relevanter Eigenschaften aus legend und/oder orig_handle) und sie zur handlebox hinzufügen. Die Künstler müssen entsprechend der fontsize skaliert werden (beachten Sie, dass die Größe in Pixeln angegeben wird, d. h. dies ist ein DPI-skalierter Wert).

Dieses Modul enthält Definitionen mehrerer Legenden-Handler-Klassen, die von der Basisklasse (HandlerBase) abgeleitet sind und die folgende Methode haben

def legend_artist(self, legend, orig_handle, fontsize, handlebox)
class matplotlib.legend_handler.HandlerBase(xpad=0.0, ypad=0.0, update_func=None)[source]#

Eine Basisklasse für Standard-Legenden-Handler.

Die abgeleiteten Klassen sollen die Methode create_artists überschreiben, die die folgende Signatur hat

def create_artists(self, legend, orig_handle,
                   xdescent, ydescent, width, height, fontsize,
                   trans):

Die überschriebene Methode muss Künstler mit der gegebenen Transformation erstellen, die in die gegebene Dimension (xdescent, ydescent, width, height) passen und bei Bedarf nach fontsize skaliert werden.

Parameter:
xpadfloat, optional

Abstand in x-Richtung.

ypadfloat, optional

Abstand in y-Richtung.

update_funccallable, optional

Funktion zum Aktualisieren der Legenden-Handler-Eigenschaften von einem anderen Legenden-Handler, verwendet von update_prop.

adjust_drawing_area(legend, orig_handle, xdescent, ydescent, width, height, fontsize)[source]#
create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]#

Gibt die generierten Legendenkünstler zurück.

Parameter:
legendLegend

Die Legende, für die diese Legendenkünstler erstellt werden.

orig_handleArtist oder ähnlich

Das Objekt, für das diese Legendenkünstler erstellt werden.

xdescent, ydescent, width, heightint

Das Rechteck (xdescent, ydescent, width, height), in das die zu erstellenden Legendenkünstler passen sollen.

fontsizeint

Die Schriftgröße in Pixeln. Die zu erstellenden Legendenkünstler sollten entsprechend der angegebenen Schriftgröße skaliert werden.

transTransform

Die Transformation, die auf die zu erstellenden Legendenkünstler angewendet wird. Typischerweise von Einheitskoordinaten in der Handler-Box zu Bildschirmkoordinaten.

legend_artist(legend, orig_handle, fontsize, handlebox)[source]#

Gibt den Künstler zurück, den diese HandlerBase für den gegebenen ursprünglichen Künstler/Handle generiert.

Parameter:
legendLegend

Die Legende, für die diese Legendenkünstler erstellt werden.

orig_handlematplotlib.artist.Artist oder ähnlich

Das Objekt, für das diese Legendenkünstler erstellt werden.

fontsizeint

Die Schriftgröße in Pixeln. Die zu erstellenden Künstler sollten entsprechend der angegebenen Schriftgröße skaliert werden.

handleboxOffsetBox

Die Box, die erstellt wurde, um die Künstler dieses Legendereintrags zu halten. Künstler, die in der Methode legend_artist erstellt wurden, müssen in dieser Methode zu dieser handlebox hinzugefügt werden.

update_prop(legend_handle, orig_handle, legend)[source]#
class matplotlib.legend_handler.HandlerCircleCollection(yoffsets=None, sizes=None, **kwargs)[source]#

Handler für CircleCollections.

Parameter:
numpointsint

Anzahl der Punkte, die im Legendereintrag angezeigt werden sollen.

yoffsetsarray of floats

Länge numpoints Liste von y-Offsets für jeden Punkt im Legendereintrag.

**kwargs

Schlüsselwortargumente, die an HandlerNpoints weitergeleitet werden.

create_collection(orig_handle, sizes, offsets, offset_transform)[source]#
class matplotlib.legend_handler.HandlerErrorbar(xerr_size=0.5, yerr_size=None, marker_pad=0.3, numpoints=None, **kwargs)[source]#

Handler für Errorbars.

Parameter:
marker_padfloat

Abstand zwischen Punkten im Legendereintrag.

numpointsint

Anzahl der Punkte, die im Legendereintrag angezeigt werden sollen.

**kwargs

Schlüsselwortargumente, die an HandlerBase weitergeleitet werden.

create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]#

Gibt die generierten Legendenkünstler zurück.

Parameter:
legendLegend

Die Legende, für die diese Legendenkünstler erstellt werden.

orig_handleArtist oder ähnlich

Das Objekt, für das diese Legendenkünstler erstellt werden.

xdescent, ydescent, width, heightint

Das Rechteck (xdescent, ydescent, width, height), in das die zu erstellenden Legendenkünstler passen sollen.

fontsizeint

Die Schriftgröße in Pixeln. Die zu erstellenden Legendenkünstler sollten entsprechend der angegebenen Schriftgröße skaliert werden.

transTransform

Die Transformation, die auf die zu erstellenden Legendenkünstler angewendet wird. Typischerweise von Einheitskoordinaten in der Handler-Box zu Bildschirmkoordinaten.

get_err_size(legend, xdescent, ydescent, width, height, fontsize)[source]#
class matplotlib.legend_handler.HandlerLine2D(marker_pad=0.3, numpoints=None, **kwargs)[source]#

Handler für Line2D Instanzen.

Siehe auch

HandlerLine2DCompound

Ein früherer Handler, der einen Künstler für die Linie und einen anderen für den/die Marker verwendete.

Parameter:
marker_padfloat

Abstand zwischen Punkten im Legendereintrag.

numpointsint

Anzahl der Punkte, die im Legendereintrag angezeigt werden sollen.

**kwargs

Schlüsselwortargumente, die an HandlerBase weitergeleitet werden.

create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]#

Gibt die generierten Legendenkünstler zurück.

Parameter:
legendLegend

Die Legende, für die diese Legendenkünstler erstellt werden.

orig_handleArtist oder ähnlich

Das Objekt, für das diese Legendenkünstler erstellt werden.

xdescent, ydescent, width, heightint

Das Rechteck (xdescent, ydescent, width, height), in das die zu erstellenden Legendenkünstler passen sollen.

fontsizeint

Die Schriftgröße in Pixeln. Die zu erstellenden Legendenkünstler sollten entsprechend der angegebenen Schriftgröße skaliert werden.

transTransform

Die Transformation, die auf die zu erstellenden Legendenkünstler angewendet wird. Typischerweise von Einheitskoordinaten in der Handler-Box zu Bildschirmkoordinaten.

class matplotlib.legend_handler.HandlerLine2DCompound(marker_pad=0.3, numpoints=None, **kwargs)[source]#

Ursprünglicher Handler für Line2D Instanzen, der sich auf die Kombination eines reinen Linien- und eines reinen Marker-Künstlers stützt. Kann in Zukunft deprecated werden.

Parameter:
marker_padfloat

Abstand zwischen Punkten im Legendereintrag.

numpointsint

Anzahl der Punkte, die im Legendereintrag angezeigt werden sollen.

**kwargs

Schlüsselwortargumente, die an HandlerBase weitergeleitet werden.

create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]#

Gibt die generierten Legendenkünstler zurück.

Parameter:
legendLegend

Die Legende, für die diese Legendenkünstler erstellt werden.

orig_handleArtist oder ähnlich

Das Objekt, für das diese Legendenkünstler erstellt werden.

xdescent, ydescent, width, heightint

Das Rechteck (xdescent, ydescent, width, height), in das die zu erstellenden Legendenkünstler passen sollen.

fontsizeint

Die Schriftgröße in Pixeln. Die zu erstellenden Legendenkünstler sollten entsprechend der angegebenen Schriftgröße skaliert werden.

transTransform

Die Transformation, die auf die zu erstellenden Legendenkünstler angewendet wird. Typischerweise von Einheitskoordinaten in der Handler-Box zu Bildschirmkoordinaten.

class matplotlib.legend_handler.HandlerLineCollection(marker_pad=0.3, numpoints=None, **kwargs)[source]#

Handler für LineCollection Instanzen.

Parameter:
marker_padfloat

Abstand zwischen Punkten im Legendereintrag.

numpointsint

Anzahl der Punkte, die im Legendereintrag angezeigt werden sollen.

**kwargs

Schlüsselwortargumente, die an HandlerBase weitergeleitet werden.

create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]#

Gibt die generierten Legendenkünstler zurück.

Parameter:
legendLegend

Die Legende, für die diese Legendenkünstler erstellt werden.

orig_handleArtist oder ähnlich

Das Objekt, für das diese Legendenkünstler erstellt werden.

xdescent, ydescent, width, heightint

Das Rechteck (xdescent, ydescent, width, height), in das die zu erstellenden Legendenkünstler passen sollen.

fontsizeint

Die Schriftgröße in Pixeln. Die zu erstellenden Legendenkünstler sollten entsprechend der angegebenen Schriftgröße skaliert werden.

transTransform

Die Transformation, die auf die zu erstellenden Legendenkünstler angewendet wird. Typischerweise von Einheitskoordinaten in der Handler-Box zu Bildschirmkoordinaten.

get_numpoints(legend)[source]#
class matplotlib.legend_handler.HandlerNpoints(marker_pad=0.3, numpoints=None, **kwargs)[source]#

Ein Legenden-Handler, der numpoints Punkte im Legendereintrag anzeigt.

Parameter:
marker_padfloat

Abstand zwischen Punkten im Legendereintrag.

numpointsint

Anzahl der Punkte, die im Legendereintrag angezeigt werden sollen.

**kwargs

Schlüsselwortargumente, die an HandlerBase weitergeleitet werden.

get_numpoints(legend)[source]#
get_xdata(legend, xdescent, ydescent, width, height, fontsize)[source]#
class matplotlib.legend_handler.HandlerNpointsYoffsets(numpoints=None, yoffsets=None, **kwargs)[source]#

Ein Legenden-Handler, der numpoints im Legende anzeigt und ihnen erlaubt, individuell in y-Richtung verschoben zu werden.

Parameter:
numpointsint

Anzahl der Punkte, die im Legendereintrag angezeigt werden sollen.

yoffsetsarray of floats

Länge numpoints Liste von y-Offsets für jeden Punkt im Legendereintrag.

**kwargs

Schlüsselwortargumente, die an HandlerNpoints weitergeleitet werden.

get_ydata(legend, xdescent, ydescent, width, height, fontsize)[source]#
class matplotlib.legend_handler.HandlerPatch(patch_func=None, **kwargs)[source]#

Handler für Patch Instanzen.

Parameter:
patch_funccallable, optional

Die Funktion, die den Legenden-Schlüssel-Künstler erstellt. patch_func sollte die Signatur haben

def patch_func(legend=legend, orig_handle=orig_handle,
               xdescent=xdescent, ydescent=ydescent,
               width=width, height=height, fontsize=fontsize)

Anschließend wird die Methode update_prop des erstellten Künstlers aufgerufen und die entsprechende Transformation angewendet.

**kwargs

Schlüsselwortargumente, die an HandlerBase weitergeleitet werden.

create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]#

Gibt die generierten Legendenkünstler zurück.

Parameter:
legendLegend

Die Legende, für die diese Legendenkünstler erstellt werden.

orig_handleArtist oder ähnlich

Das Objekt, für das diese Legendenkünstler erstellt werden.

xdescent, ydescent, width, heightint

Das Rechteck (xdescent, ydescent, width, height), in das die zu erstellenden Legendenkünstler passen sollen.

fontsizeint

Die Schriftgröße in Pixeln. Die zu erstellenden Legendenkünstler sollten entsprechend der angegebenen Schriftgröße skaliert werden.

transTransform

Die Transformation, die auf die zu erstellenden Legendenkünstler angewendet wird. Typischerweise von Einheitskoordinaten in der Handler-Box zu Bildschirmkoordinaten.

class matplotlib.legend_handler.HandlerPathCollection(yoffsets=None, sizes=None, **kwargs)[source]#

Handler für PathCollections, die von scatter verwendet werden.

Parameter:
numpointsint

Anzahl der Punkte, die im Legendereintrag angezeigt werden sollen.

yoffsetsarray of floats

Länge numpoints Liste von y-Offsets für jeden Punkt im Legendereintrag.

**kwargs

Schlüsselwortargumente, die an HandlerNpoints weitergeleitet werden.

create_collection(orig_handle, sizes, offsets, offset_transform)[source]#
class matplotlib.legend_handler.HandlerPolyCollection(xpad=0.0, ypad=0.0, update_func=None)[source]#

Handler für PolyCollection, die in fill_between und stackplot verwendet werden.

Parameter:
xpadfloat, optional

Abstand in x-Richtung.

ypadfloat, optional

Abstand in y-Richtung.

update_funccallable, optional

Funktion zum Aktualisieren der Legenden-Handler-Eigenschaften von einem anderen Legenden-Handler, verwendet von update_prop.

create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]#

Gibt die generierten Legendenkünstler zurück.

Parameter:
legendLegend

Die Legende, für die diese Legendenkünstler erstellt werden.

orig_handleArtist oder ähnlich

Das Objekt, für das diese Legendenkünstler erstellt werden.

xdescent, ydescent, width, heightint

Das Rechteck (xdescent, ydescent, width, height), in das die zu erstellenden Legendenkünstler passen sollen.

fontsizeint

Die Schriftgröße in Pixeln. Die zu erstellenden Legendenkünstler sollten entsprechend der angegebenen Schriftgröße skaliert werden.

transTransform

Die Transformation, die auf die zu erstellenden Legendenkünstler angewendet wird. Typischerweise von Einheitskoordinaten in der Handler-Box zu Bildschirmkoordinaten.

class matplotlib.legend_handler.HandlerRegularPolyCollection(yoffsets=None, sizes=None, **kwargs)[source]#

Handler für RegularPolyCollections.

Parameter:
numpointsint

Anzahl der Punkte, die im Legendereintrag angezeigt werden sollen.

yoffsetsarray of floats

Länge numpoints Liste von y-Offsets für jeden Punkt im Legendereintrag.

**kwargs

Schlüsselwortargumente, die an HandlerNpoints weitergeleitet werden.

create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]#

Gibt die generierten Legendenkünstler zurück.

Parameter:
legendLegend

Die Legende, für die diese Legendenkünstler erstellt werden.

orig_handleArtist oder ähnlich

Das Objekt, für das diese Legendenkünstler erstellt werden.

xdescent, ydescent, width, heightint

Das Rechteck (xdescent, ydescent, width, height), in das die zu erstellenden Legendenkünstler passen sollen.

fontsizeint

Die Schriftgröße in Pixeln. Die zu erstellenden Legendenkünstler sollten entsprechend der angegebenen Schriftgröße skaliert werden.

transTransform

Die Transformation, die auf die zu erstellenden Legendenkünstler angewendet wird. Typischerweise von Einheitskoordinaten in der Handler-Box zu Bildschirmkoordinaten.

create_collection(orig_handle, sizes, offsets, offset_transform)[source]#
get_numpoints(legend)[source]#
get_sizes(legend, orig_handle, xdescent, ydescent, width, height, fontsize)[source]#
update_prop(legend_handle, orig_handle, legend)[source]#
class matplotlib.legend_handler.HandlerStem(marker_pad=0.3, numpoints=None, bottom=None, yoffsets=None, **kwargs)[source]#

Handler für Plots, die von stem erzeugt werden.

Parameter:
marker_padfloat, default: 0.3

Abstand zwischen Punkten im Legendereintrag.

numpointsint, optional

Anzahl der Punkte, die im Legendereintrag angezeigt werden sollen.

bottomfloat, optional
yoffsetsarray of floats, optional

Länge numpoints Liste von y-Offsets für jeden Punkt im Legendereintrag.

**kwargs

Schlüsselwortargumente, die an HandlerNpointsYoffsets weitergeleitet werden.

create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]#

Gibt die generierten Legendenkünstler zurück.

Parameter:
legendLegend

Die Legende, für die diese Legendenkünstler erstellt werden.

orig_handleArtist oder ähnlich

Das Objekt, für das diese Legendenkünstler erstellt werden.

xdescent, ydescent, width, heightint

Das Rechteck (xdescent, ydescent, width, height), in das die zu erstellenden Legendenkünstler passen sollen.

fontsizeint

Die Schriftgröße in Pixeln. Die zu erstellenden Legendenkünstler sollten entsprechend der angegebenen Schriftgröße skaliert werden.

transTransform

Die Transformation, die auf die zu erstellenden Legendenkünstler angewendet wird. Typischerweise von Einheitskoordinaten in der Handler-Box zu Bildschirmkoordinaten.

get_ydata(legend, xdescent, ydescent, width, height, fontsize)[source]#
Klasse matplotlib.legend_handler.HandlerStepPatch(xpad=0.0, ypad=0.0, update_func=None)[Quelle]#

Handler für StepPatch-Instanzen.

Parameter:
xpadfloat, optional

Abstand in x-Richtung.

ypadfloat, optional

Abstand in y-Richtung.

update_funccallable, optional

Funktion zum Aktualisieren der Legenden-Handler-Eigenschaften von einem anderen Legenden-Handler, verwendet von update_prop.

create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[Quelle]#

Gibt die generierten Legendenkünstler zurück.

Parameter:
legendLegend

Die Legende, für die diese Legendenkünstler erstellt werden.

orig_handleArtist oder ähnlich

Das Objekt, für das diese Legendenkünstler erstellt werden.

xdescent, ydescent, width, heightint

Das Rechteck (xdescent, ydescent, width, height), in das die zu erstellenden Legendenkünstler passen sollen.

fontsizeint

Die Schriftgröße in Pixeln. Die zu erstellenden Legendenkünstler sollten entsprechend der angegebenen Schriftgröße skaliert werden.

transTransform

Die Transformation, die auf die zu erstellenden Legendenkünstler angewendet wird. Typischerweise von Einheitskoordinaten in der Handler-Box zu Bildschirmkoordinaten.

Klasse matplotlib.legend_handler.HandlerTuple(ndivide=1, pad=None, **kwargs)[Quelle]#

Handler für Tupel.

Parameter:
ndivideint oder None, Standard: 1

Die Anzahl der Abschnitte, in die der Legendenbereich unterteilt werden soll. Wenn None, wird die Länge des Eingabetupels verwendet.

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

Abstand in Einheiten des Bruchteils der Schriftgröße.

**kwargs

Schlüsselwortargumente, die an HandlerBase weitergeleitet werden.

create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[Quelle]#

Gibt die generierten Legendenkünstler zurück.

Parameter:
legendLegend

Die Legende, für die diese Legendenkünstler erstellt werden.

orig_handleArtist oder ähnlich

Das Objekt, für das diese Legendenkünstler erstellt werden.

xdescent, ydescent, width, heightint

Das Rechteck (xdescent, ydescent, width, height), in das die zu erstellenden Legendenkünstler passen sollen.

fontsizeint

Die Schriftgröße in Pixeln. Die zu erstellenden Legendenkünstler sollten entsprechend der angegebenen Schriftgröße skaliert werden.

transTransform

Die Transformation, die auf die zu erstellenden Legendenkünstler angewendet wird. Typischerweise von Einheitskoordinaten in der Handler-Box zu Bildschirmkoordinaten.

matplotlib.legend_handler.update_from_first_child(tgt, src)[Quelle]#