matplotlib.figure.SubFigure.colorbar#
- SubFigure.colorbar(mappable, cax=None, ax=None, use_gridspec=True, **kwargs)[Quelle]#
Fügt einem Plot eine Farbleiste hinzu.
- Parameter:
- mappable
Das
matplotlib.cm.ScalarMappable(d.h.AxesImage,ContourSet, etc.), das von dieser Farbleiste beschrieben wird. Dieses Argument ist für die MethodeFigure.colorbarobligatorisch, aber optional für die Funktionpyplot.colorbar, die den Standard auf das aktuelle Bild setzt.Beachten Sie, dass eine
ScalarMappable"on-the-fly" erstellt werden kann, um Farbleisten zu generieren, die nicht an einen zuvor gezeichneten Künstler angehängt sind, z.B.fig.colorbar(cm.ScalarMappable(norm=norm, cmap=cmap), ax=ax)
- cax
Axes, optional Axes, in die die Farbleiste gezeichnet werden soll. Wenn
None, wird ein neues Axes-Objekt erstellt und der Platz dafür von den in ax angegebenen Axes gestohlen.- ax
Axesoder Iterable odernumpy.ndarrayvon Axes, optional Die einen oder mehreren übergeordneten Axes, aus denen Platz für ein neues Farbleisten-Axes-Objekt entnommen wird. Dieser Parameter wird nur verwendet, wenn cax nicht gesetzt ist.
Standardmäßig die Axes, die die für die Erstellung der Farbleiste verwendete mappbare Einheit enthalten.
- use_gridspecbool, optional
Wenn cax
Noneist, wird ein neues cax als Instanz von Axes erstellt. Wenn ax mit einer Subplotspec positioniert ist und use_gridspecTrueist, wird cax ebenfalls mit einer Subplotspec positioniert.
- Gibt zurück:
- colorbar
Colorbar
- colorbar
- Andere Parameter:
- locationNone oder {'left', 'right', 'top', 'bottom'}
Die Position relativ zu den übergeordneten Axes, an der die Farbleisten-Axes erstellt werden. Sie bestimmt auch die Ausrichtung der Farbleiste (Farbleisten links und rechts sind vertikal, Farbleisten oben und unten sind horizontal). Wenn None, stammt die Position aus der Ausrichtung, wenn diese gesetzt ist (vertikale Farbleisten rechts, horizontale unten), oder standardmäßig auf 'right', wenn orientation nicht gesetzt ist.
- orientationNone oder {'vertical', 'horizontal'}
Die Ausrichtung der Farbleiste. Es ist vorzuziehen, die Position der Farbleiste festzulegen, da diese auch die Ausrichtung bestimmt; das Übergeben inkompatibler Werte für location und orientation führt zu einer Ausnahme.
- fractionfloat, Standard: 0.15
Anteil der ursprünglichen Axes, der für die Farbleiste verwendet wird.
- shrinkfloat, Standard: 1.0
Faktor, mit dem die Größe der Farbleiste multipliziert wird.
- aspectfloat, Standard: 20
Verhältnis von langen zu kurzen Seiten.
- padfloat, Standard: 0.05 bei vertikal, 0.15 bei horizontal
Anteil der ursprünglichen Axes zwischen der Farbleiste und den neuen Bild-Axes.
- anchor(float, float), optional
Der Ankerpunkt der Farbleisten-Axes. Standardmäßig (0.0, 0.5) bei vertikaler Ausrichtung; (0.5, 1.0) bei horizontaler Ausrichtung.
- panchor(float, float), oder False, optional
Der Ankerpunkt der übergeordneten Axes der Farbleiste. Wenn False, bleibt der Anker der übergeordneten Axes unverändert. Standardmäßig (1.0, 0.5) bei vertikaler Ausrichtung; (0.5, 0.0) bei horizontaler Ausrichtung.
- extend{'neither', 'both', 'min', 'max'}
Erzeugt spitze Enden für Werte außerhalb des Bereichs (außer 'neither'). Diese werden für eine bestimmte Colormap über die Methoden set_under und set_over der Colormap gesetzt.
- extendfrac{None, 'auto', Länge, Längen}
Wenn auf None gesetzt, haben sowohl die minimale als auch die maximale dreieckige Farbleisten-Erweiterung eine Länge von 5 % der Länge der inneren Farbleiste (dies ist die Standardeinstellung).
Wenn auf 'auto' gesetzt, haben die dreieckigen Farbleisten-Erweiterungen dieselben Längen wie die inneren Boxen (wenn spacing auf 'uniform' gesetzt ist) oder dieselben Längen wie die jeweiligen angrenzenden inneren Boxen (wenn spacing auf 'proportional' gesetzt ist).
Wenn ein Skalar, gibt er die Länge sowohl der minimalen als auch der maximalen dreieckigen Farbleisten-Erweiterungen als Bruchteil der Länge der inneren Farbleiste an. Eine Sequenz von zwei Brüchen kann ebenfalls angegeben werden, die die Längen der minimalen und maximalen Farbleisten-Erweiterungen als Bruchteil der Länge der inneren Farbleiste angibt.
- extendrectbool
Wenn False, sind die minimale und maximale Farbleisten-Erweiterung dreieckig (Standard). Wenn True, sind die Erweiterungen rechteckig.
- ticksNone oder Liste von Ticks oder Locator
Wenn None, werden die Ticks automatisch aus der Eingabe bestimmt.
- formatNone oder str oder Formatter
Wenn None, wird
ScalarFormatterverwendet. Format-Strings, z.B."%4.2e"oder"{x:.2e}", werden unterstützt. Stattdessen kann ein alternativerFormatterangegeben werden.- drawedgesbool
Ob Linien an den Farbgrenzen gezeichnet werden sollen.
- labelstr
Die Beschriftung der langen Achse der Farbleiste.
- boundaries, valuesNone oder eine Sequenz
Wenn nicht gesetzt, wird die Colormap auf einer Skala von 0-1 angezeigt. Wenn Sequenzen, muss values eine um 1 geringere Länge als boundaries haben. Für jede Region, die durch benachbarte Einträge in boundaries begrenzt wird, wird die Farbe verwendet, die dem entsprechenden Wert in values zugeordnet ist. Die Größe jeder Region wird durch den Parameter spacing bestimmt. Normalerweise nur nützlich für indizierte Farben (d. h.
norm=NoNorm()) oder andere ungewöhnliche Umstände.- spacing{'uniform', 'proportional'}
Für diskrete Farbleisten (
BoundaryNormoder Konturen) gibt 'uniform' jeder Farbe den gleichen Raum; 'proportional' macht den Raum proportional zum Datenintervall.
Anmerkungen
Wenn mappable ein
ContourSetist, wird dessen extend-Schlüsselwortargument automatisch einbezogen.Das shrink-Keyword-Argument bietet eine einfache Möglichkeit, die Farbleiste relativ zu den Axes zu skalieren. Beachten Sie, dass, wenn cax angegeben ist, dieses die Größe der Farbleiste bestimmt und shrink und aspect ignoriert werden.
Für eine präzisere Steuerung können Sie die Positionen der Axes-Objekte, in denen die mappbare Einheit und die Farbleiste gezeichnet werden, manuell angeben. In diesem Fall verwenden Sie keine der Axes-Eigenschaften-Keywords.
Es ist bekannt, dass einige Vektorgrafik-Viewer (svg und pdf) weiße Lücken zwischen den Segmenten der Farbleiste rendern. Dies liegt an Fehlern in den Viewern, nicht in Matplotlib. Als Workaround kann die Farbleiste mit überlappenden Segmenten gerendert werden
cbar = colorbar() cbar.solids.set_edgecolor("face") draw()
Dies hat jedoch in anderen Umständen negative Auswirkungen, z. B. bei halbtransparenten Bildern (Alpha < 1) und Farbleisten-Erweiterungen; daher wird dieser Workaround standardmäßig nicht verwendet (siehe Issue #1188).