matplotlib.pyplot.contourf #
- matplotlib.pyplot. contourf ( * args , data = None , ** kwargs ) [Quelle] #
Zeichnen Sie gefüllte Konturen.
Rufsignatur:
contourf([X, Y,] Z, [levels], **kwargs)
contour
undcontourf
Konturlinien bzw. gefüllte Konturen zeichnen. Sofern nicht anders angegeben, sind Funktionssignaturen und Rückgabewerte für beide Versionen gleich.- Parameter :
- X, Y Array-artig, optional
Die Koordinaten der Werte in Z .
X und Y müssen beide 2D mit der gleichen Form wie Z sein (z. B. erstellt über
numpy.meshgrid
), oder sie müssen beide 1-D sein, so dass die Anzahl der Spalten in Z und die Anzahl der Zeilen in Z ist .len(X) == N
len(Y) == M
X und Y müssen beide monoton geordnet sein.
Wenn nicht angegeben, werden sie als Integer-Indizes angenommen, dh , .
X = range(N)
Y = range(M)
- Z (M, N) Array-artig
Die Höhenwerte, über die die Kontur gezeichnet wird. Die Farbzuordnung wird durch cmap , norm , vmin und vmax gesteuert .
- Ebenen int oder arrayartig, optional
Bestimmt die Anzahl und Positionen der Konturlinien / Regionen.
Wenn ein int n , verwenden
MaxNLocator
Sie , wodurch versucht wird, automatisch nicht mehr als n+1 "schöne" Konturebenen zwischen vmin und vmax auszuwählen .Wenn es sich um ein Array handelt, zeichnen Sie Konturlinien auf den angegebenen Ebenen. Die Werte müssen in aufsteigender Reihenfolge sein.
- Rückgaben :
- Andere Parameter :
- corner_mask bool, Standard:
rcParams["contour.corner_mask"]
(Standard:True
) Eckenmaskierung aktivieren/deaktivieren, was nur eine Auswirkung hat, wenn Z ein maskiertes Array ist. Wenn
False
, wird jedes Quad, das einen maskierten Punkt berührt, maskiert. WennTrue
immer nur die dreieckigen Ecken von Quads, die diesen Punkten am nächsten liegen, maskiert werden, werden andere dreieckige Ecken, die drei unmaskierte Punkte umfassen, wie gewöhnlich konturiert.- Farben Farbzeichenfolge oder Farbfolge, optional
Die Farben der Ebenen, dh die Linien für
contour
und die Flächen fürcontourf
.Die Sequenz wird für die Ebenen in aufsteigender Reihenfolge durchlaufen. Wenn die Sequenz kürzer als die Anzahl der Ebenen ist, wird sie wiederholt.
Als Abkürzung können anstelle von Ein-Element-Listen einfarbige Zeichenketten verwendet werden, dh
'red'
anstatt['red']
alle Ebenen mit der gleichen Farbe einzufärben. Diese Abkürzung funktioniert nur für Farbstrings, nicht für andere Möglichkeiten, Farben anzugeben.Standardmäßig (Wert None ) wird die durch cmap angegebene Farbtabelle verwendet.
- Alphafloat , Standard: 1
Der Alpha-Blending-Wert zwischen 0 (transparent) und 1 (deckend).
- cmap str oder
Colormap
, Standard:rcParams["image.cmap"]
(Standard:'viridis'
) Die Colormap-Instanz oder der registrierte Colormap-Name, der zum Zuordnen von Skalardaten zu Farben verwendet wird.
Dieser Parameter wird ignoriert, wenn Farben gesetzt sind.
- norm str oder
Normalize
, optional Die Normalisierungsmethode, die verwendet wird, um skalare Daten auf den Bereich [0, 1] zu skalieren, bevor sie mithilfe von cmap auf Farben abgebildet werden . Standardmäßig wird eine lineare Skalierung verwendet, die den niedrigsten Wert auf 0 und den höchsten auf 1 abbildet.
Falls angegeben, kann dies einer der folgenden sein:
Eine Instanz
Normalize
oder eine ihrer Unterklassen (siehe Colormap-Normalisierung ).Ein Skalenname, z. B. „linear“, „log“, „symlog“, „logit“ usw. Rufen Sie für eine Liste der verfügbaren Skalen auf
matplotlib.scale.get_scale_names()
. In diesem Fall wird eine geeigneteNormalize
Unterklasse dynamisch generiert und instanziiert.
Dieser Parameter wird ignoriert, wenn Farben gesetzt sind.
- vmin, vmax Float, optional
Wenn skalare Daten und keine explizite Norm verwendet werden, definieren vmin und vmax den Datenbereich, den die Farbtabelle abdeckt. Standardmäßig deckt die Colormap den kompletten Wertebereich der gelieferten Daten ab. Es ist ein Fehler, vmin / vmax zu verwenden, wenn eine Norminstanz angegeben ist (aber die Verwendung eines Normnamens zusammen mit vmin / vmax ist akzeptabel).
str
Wenn vmin oder vmax nicht angegeben sind, basiert die Standardfarbskalierung auf Ebenen .
Dieser Parameter wird ignoriert, wenn Farben gesetzt sind.
- Herkunft { Keine , 'upper', 'lower', 'image'}, Standard: Keine
Bestimmt die Ausrichtung und genaue Position von Z durch Angabe der Position von . Dies ist nur relevant, wenn X , Y nicht angegeben sind.
Z[0, 0]
None : befindet sich bei X=0, Y=0 in der unteren linken Ecke.
Z[0, 0]
'lower': ist bei X=0.5, Y=0.5 in der unteren linken Ecke.
Z[0, 0]
'upper': ist bei X=N+0.5, Y=0.5 in der oberen linken Ecke.
Z[0, 0]
'image': Verwenden Sie den Wert von
rcParams["image.origin"]
(Standard:'upper'
).
- Ausdehnung (x0, x1, y0, y1), optional
Wenn Ursprung nicht None ist, wird Ausdehnung wie in interpretiert
imshow
: Es gibt die äußeren Pixelgrenzen an. In diesem Fall ist die Position von Z[0, 0] die Mitte des Pixels, keine Ecke. Wenn der Ursprung None ist , dann ist ( x0 , y0 ) die Position von Z[0, 0] und ( x1 , y1 ) die Position von Z[-1, -1].Dieses Argument wird ignoriert, wenn X und Y im Aufruf von Contour angegeben werden.
- Locator -Ticker.Locator-Unterklasse, optional
Der Locator dient zur Ermittlung der Höhenlinien, sofern diese nicht explizit über Ebenen vorgegeben sind . Standardmäßig auf
MaxNLocator
.- Erweitern {'weder', 'beide', 'min', 'max'}, Standard: 'weder'
Bestimmt die
contourf
Einfärbung von Werten, die außerhalb des Pegelbereichs liegen .Bei „weder noch“ werden Werte außerhalb des Ebenenbereichs nicht eingefärbt. Wenn „min“, „max“ oder „beide“, färben Sie die Werte unter, über oder unter und über dem Pegelbereich ein.
Werte darunter
min(levels)
und darübermax(levels)
werden den Unter-/Über-Werten von zugeordnetColormap
. Beachten Sie, dass die meisten Colormaps standardmäßig keine dedizierten Farben dafür haben, sodass die Über- und Unterwerte die Randwerte der Colormap sind. Möglicherweise möchten Sie diese Werte explizit mitColormap.set_under
und festlegenColormap.set_over
.Notiz
Eine vorhandene
QuadContourSet
wird nicht benachrichtigt, wenn Eigenschaften ihrer Farbtabelle geändert werden. Daher ist nach dem Ändern der Farbtabelle ein expliziter AufrufQuadContourSet.changed()
erforderlich. Der explizite Aufruf kann weggelassen werden, wenn dem ein Farbbalken zugeordnet ist,QuadContourSet
da dieser intern aufruftQuadContourSet.changed()
.Beispiel:
x = np.arange(1, 10) y = x.reshape(-1, 1) h = x * y cs = plt.contourf(h, levels=[10, 30, 50], colors=['#808080', '#A0A0A0', '#C0C0C0'], extend='both') cs.cmap.set_over('red') cs.cmap.set_under('blue') cs.changed()
- xunits, yunits registrierte Einheiten, optional
Überschreiben Sie Achseneinheiten, indem Sie eine Instanz von a angeben
matplotlib.units.ConversionInterface
.- Antialiased bool, optional
Aktivieren Sie Antialiasing und überschreiben Sie die Standardeinstellungen. Für gefüllte Konturen ist der Standardwert True . Für Linienkonturen wird es übernommen
rcParams["lines.antialiased"]
(Standard:True
).- chunk int >= 0, optional
Wenn 0, keine Unterteilung der Domäne. Geben Sie eine positive Ganzzahl an, um die Domäne in Unterdomänen von Chunk- by -Chunk- Quads zu unterteilen. Chunking reduziert die maximale Länge der vom Konturalgorithmus generierten Polygone, was die an das Backend weitergegebene Rendering-Arbeitslast reduziert und auch etwas weniger RAM benötigt. Es kann jedoch abhängig vom Backend, dem Antialiasing- Flag und dem Wert von alpha Rendering-Artefakte an Chunk-Grenzen einführen .
- Linienbreiten schwebend oder Array-artig, Standard:
rcParams["contour.linewidth"]
(Standard:None
) Gilt nur für
contour
.Die Linienbreite der Konturlinien.
Wenn es sich um eine Zahl handelt, werden alle Ebenen mit dieser Linienbreite gezeichnet.
Bei einer Sequenz werden die Ebenen in aufsteigender Reihenfolge mit den Linienbreiten in der angegebenen Reihenfolge gezeichnet.
Wenn None, fällt dies auf
rcParams["lines.linewidth"]
(Standard:1.5
) zurück.- linestyles { None , 'solid', 'dashed', 'dashdot', 'dotted'}, optional
Gilt nur für
contour
.Wenn linestyles None ist , ist der Standardwert „solid“, es sei denn, die Linien sind einfarbig. In diesem Fall nehmen negative Konturen stattdessen ihren Linienstil aus dem Argument negative_linestyles .
linestyles kann auch ein Iterable der obigen Strings sein, der eine Reihe von zu verwendenden Linienstilen angibt. Wenn dieses Iterable kürzer als die Anzahl der Konturebenen ist, wird es nach Bedarf wiederholt.
- negative_linestyles { None , 'solid', 'dashed', 'dashdot', 'dotted'}, optional
Gilt nur für
contour
.Wenn linestyles None ist und die Linien monochrom sind, gibt dieses Argument den Linienstil für negative Konturen an.
Wenn negative_linestyles None ist , wird der Standardwert von übernommen
rcParams["contour.negative_linestyles"]
.negative_linestyles kann auch ein Iterable der obigen Strings sein, der einen Satz von zu verwendenden Linienstilen angibt. Wenn dieses Iterable kürzer als die Anzahl der Konturebenen ist, wird es nach Bedarf wiederholt.
- Schraffurliste [str], optional
Gilt nur für
contourf
.Eine Liste von Kreuzschraffurmustern, die auf den gefüllten Bereichen verwendet werden sollen. Bei None wird der Kontur keine Schraffur hinzugefügt. Schraffur wird nur in den Backends PostScript, PDF, SVG und Agg unterstützt.
- Algorithmus {'mpl2005', 'mpl2014', 'serial', 'threaded'}, optional
Welcher Konturalgorithmus zum Berechnen der Konturlinien und Polygone verwendet werden soll. Die Algorithmen sind in ContourPy implementiert , konsultieren Sie die ContourPy-Dokumentation für weitere Informationen.
Der Standardwert wird von
rcParams["contour.algorithm"]
(Standard:'mpl2014'
) übernommen.- data indexierbares Objekt, optional
Wenn angegeben, akzeptieren alle Parameter auch einen String
s
, der als interpretiert wirddata[s]
(es sei denn, dies löst eine Ausnahme aus).
- corner_mask bool, Standard:
Anmerkungen
contourf
unterscheidet sich von der MATLAB-Version dadurch, dass die Polygonkanten nicht gezeichnet werden. Um Kanten zu zeichnen, fügen Sie Linienkonturen mit Aufrufen von hinzucontour
.contourf
füllt oben geschlossene Intervalle; Das heißt, für die Grenzen z1 und z2 ist die gefüllte Region:z1 < Z <= z2
mit Ausnahme des niedrigsten Intervalls, das auf beiden Seiten geschlossen ist (dh es enthält den niedrigsten Wert).
contour
undcontourf
einen Marschquadratalgorithmus verwenden, um Konturpositionen zu berechnen. Weitere Informationen finden Sie in der ContourPy-Dokumentation .