matplotlib.pyplot.contourf#

matplotlib.pyplot.contourf(*args, data=None, **kwargs)[Quelle]#

Plottet gefüllte Konturen.

Aufruf-Signatur

contourf([X, Y,] Z, /, [levels], **kwargs)

Die Argumente X, Y, Z sind nur positionsabhängig.

contour und contourf zeichnen Höhenlinien und gefüllte Höhenlinien. Soweit nicht anders angegeben, sind die Funktionssignaturen und Rückgabewerte für beide Versionen gleich.

Parameter:
X, Yarray-ähnlich, 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 1D sein, so dass len(X) == N die Anzahl der Spalten in Z und len(Y) == M die Anzahl der Zeilen in Z ist.

X und Y müssen beide monoton geordnet sein.

Wenn sie nicht angegeben werden, wird angenommen, dass es sich um ganzzahlige Indizes handelt, d. h. X = range(N), Y = range(M).

Z(M, N) array-ähnlich

Die Höhenwerte, über denen die Kontur gezeichnet wird. Die Farbzuordnung wird von cmap, norm, vmin und vmax gesteuert.

levelsint oder array-ähnlich, optional

Bestimmt die Anzahl und Positionen der Konturlinien / Regionen.

Wenn ein int n verwendet wird, wird MaxNLocator verwendet, der versucht, automatisch nicht mehr als n+1 "schöne" Konturebenen zwischen dem minimalen und maximalen numerischen Wert von Z zu wählen.

Wenn array-ähnlich, werden Konturlinien auf den angegebenen Ebenen gezeichnet. Die Werte müssen aufsteigend geordnet sein.

Gibt zurück:
QuadContourSet
Andere Parameter:
corner_maskbool, Standard: rcParams["contour.corner_mask"] (Standard: True)

Aktiviert/deaktiviert die Eckmaskierung, die nur Auswirkungen hat, wenn Z ein maskiertes Array ist. Wenn False, wird jede Quad-Zelle, die an einen maskierten Punkt grenzt, maskiert. Wenn True, werden nur die dreieckigen Ecken der Quad-Zellen, die diesen Punkten am nächsten liegen, immer maskiert; andere dreieckige Ecken, die aus drei unmaskierten Punkten bestehen, werden wie üblich konturiert.

colorsFarbe oder Liste von Farben, optional

Die Farben der Niveaus, d.h. die Linien für contour und die Flächen für contourf.

Die Sequenz wird für die Ebenen in aufsteigender Reihenfolge wiederholt. Wenn die Sequenz kürzer als die Anzahl der Ebenen ist, wird sie wiederholt.

Als Abkürzung kann eine einzelne Farbe anstelle von Listen mit einem Element verwendet werden, z. B. 'red' anstelle von ['red'], um alle Ebenen mit der gleichen Farbe zu versehen.

Geändert in Version 3.10: Früher musste eine einzelne Farbe als Zeichenkette angegeben werden, jetzt kann jedes gültige Farbformat übergeben werden.

Standardmäßig (Wert None) wird die durch cmap angegebene Colormap verwendet.

alphafloat, Standard: 1

Der Alpha-Mischwert, zwischen 0 (transparent) und 1 (opak).

cmapstr oder Colormap, Standard: rcParams["image.cmap"] (Standard: 'viridis')

Die Colormap-Instanz oder der registrierte Colormap-Name, der verwendet wird, um Skalardaten in Farben abzubilden.

Dieser Parameter wird ignoriert, wenn colors gesetzt ist.

normstr oder Normalize, optional

Die Normalisierungsmethode, die verwendet wird, um Skalardaten vor der Abbildung auf Farben mithilfe von cmap in den Bereich [0, 1] zu skalieren. Standardmäßig wird eine lineare Skalierung verwendet, die den niedrigsten Wert auf 0 und den höchsten auf 1 abbildet.

Wenn angegeben, kann dies eine der folgenden Optionen sein

Dieser Parameter wird ignoriert, wenn colors gesetzt ist.

vmin, vmaxfloat, optional

Wenn Skalardaten und keine explizite norm verwendet werden, definieren vmin und vmax den Datenbereich, den die Farbkarte abdeckt. Standardmäßig deckt die Farbkarte den gesamten Wertebereich der bereitgestellten Daten ab. Es ist ein Fehler, vmin/vmax zu verwenden, wenn eine norm-Instanz angegeben ist (aber die Verwendung eines str-norm-Namens zusammen mit vmin/vmax ist akzeptabel).

Wenn vmin oder vmax nicht angegeben werden, basiert die Standard-Farbskalierung auf levels.

Dieser Parameter wird ignoriert, wenn colors gesetzt ist.

colorizerColorizer oder None, Standard: None

Das Colorizer-Objekt, das verwendet wird, um Farbe auf Daten abzubilden. Wenn None, wird ein Colorizer-Objekt aus norm und cmap erstellt.

Dieser Parameter wird ignoriert, wenn colors gesetzt ist.

origin{None, 'upper', 'lower', 'image'}, Standard: None

Bestimmt die Ausrichtung und genaue Position von Z, indem die Position von Z[0, 0] angegeben wird. Dies ist nur relevant, wenn X, Y nicht angegeben sind.

  • None: Z[0, 0] befindet sich bei X=0, Y=0 in der unteren linken Ecke.

  • 'lower': Z[0, 0] befindet sich bei X=0.5, Y=0.5 in der unteren linken Ecke.

  • 'upper': Z[0, 0] befindet sich bei X=N+0.5, Y=0.5 in der oberen linken Ecke.

  • 'image': Verwendet den Wert aus rcParams["image.origin"] (Standard: 'upper').

extent(x0, x1, y0, y1), optional

Wenn origin nicht None ist, dann wird extent wie in imshow interpretiert: es gibt die äußeren Pixelgrenzen an. In diesem Fall ist die Position von Z[0, 0] die Mitte des Pixels, nicht eine Ecke. Wenn origin 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.

locatorticker.Locator subclass, optional

Der Locator wird verwendet, um die Konturebenen zu bestimmen, wenn sie nicht explizit über levels angegeben werden. Standardmäßig wird MaxNLocator verwendet.

extend{'neither', 'both', 'min', 'max'}, Standard: 'neither'

Bestimmt die contourf-Färbung von Werten, die außerhalb des levels-Bereichs liegen.

Wenn 'neither', werden Werte außerhalb des levels-Bereichs nicht gefärbt. Wenn 'min', 'max' oder 'both', werden Werte unter, über bzw. unter und über dem levels-Bereich gefärbt.

Werte unterhalb von min(levels) und oberhalb von max(levels) werden den Unter-/Oberwerten der Colormap zugeordnet. Beachten Sie, dass die meisten Colormaps standardmäßig keine dedizierten Farben für diese haben, so dass die Ober- und Unterwerte die Randwerte der Colormap sind. Sie möchten diese Werte möglicherweise explizit mit Colormap.set_under und Colormap.set_over festlegen.

Hinweis

Ein bestehendes QuadContourSet wird nicht benachrichtigt, wenn sich Eigenschaften seiner Colormap ändern. Daher ist ein expliziter Aufruf von changed() erforderlich, nachdem die Colormap geändert wurde. Der explizite Aufruf kann weggelassen werden, wenn ein Farbbalken dem QuadContourSet zugewiesen wird, da dieser intern changed() aufruft.

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, yunitsregistrierte Einheiten, optional

Überschreiben Sie Achseneinheiten, indem Sie eine Instanz einer matplotlib.units.ConversionInterface angeben.

antialiasedbool, optional

Aktiviert Antialiasing und überschreibt die Standardwerte. Für gefüllte Konturen ist der Standardwert False. Für Linienkonturen wird er aus rcParams["lines.antialiased"] übernommen (Standard: True).

nchunkint >= 0, optional

Wenn 0, keine Unterteilung der Domäne. Geben Sie eine positive Ganzzahl an, um die Domäne in Unterdomänen von nchunk mal nchunk Quads zu unterteilen. Chunking reduziert die maximale Länge der vom Konturierungsalgorithmus erzeugten Polygone, was die an das Backend übergebene Rendering-Last reduziert und etwas weniger RAM benötigt. Es kann jedoch je nach Backend, dem antialiased-Flag und dem Wert von alpha zu Rendering-Artefakten an Chunk-Grenzen führen.

linewidthsfloat oder array-ähnlich, Standard: rcParams["contour.linewidth"] (Standard: None)

Gilt nur für contour.

Die Linienbreite der Konturlinien.

Wenn es eine Zahl ist, werden alle Ebenen mit dieser Linienbreite gezeichnet.

Wenn es eine Sequenz ist, werden die Ebenen in aufsteigender Reihenfolge mit den Linienbreiten in der angegebenen Reihenfolge gezeichnet.

Wenn None, wird auf rcParams["lines.linewidth"] (Standard: 1.5) zurückgegriffen.

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 monochrom. In diesem Fall erhalten negative Konturen stattdessen ihren Linienstil vom Argument negative_linestyles.

linestyles kann auch ein iterierbares Objekt der obigen Zeichenketten sein, das eine Reihe von Linienstilen angibt, die verwendet werden sollen. Wenn dieses iterierbare Objekt kürzer ist als die Anzahl der Konturebenen, 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 aus rcParams["contour.negative_linestyle"] (Standard: 'dashed') übernommen.

negative_linestyles kann auch ein iterierbares Objekt der obigen Zeichenketten sein, das eine Reihe von Linienstilen angibt, die verwendet werden sollen. Wenn dieses iterierbare Objekt kürzer ist als die Anzahl der Konturebenen, wird es nach Bedarf wiederholt.

hatcheslist[str], optional

Gilt nur für contourf.

Eine Liste von Kreuzschraffurmuster, die auf den gefüllten Flächen verwendet werden. Wenn None, wird keine Schraffur zur Kontur hinzugefügt.

algorithm{'mpl2005', 'mpl2014', 'serial', 'threaded'}, optional

Welcher Konturierungsalgorithmus zur Berechnung der Konturlinien und Polygone verwendet werden soll. Die Algorithmen sind in ContourPy implementiert, siehe die ContourPy-Dokumentation für weitere Informationen.

Der Standardwert wird aus rcParams["contour.algorithm"] übernommen (Standard: 'mpl2014').

clip_pathPatch oder Path oder TransformedPath

Setzt den Clipping-Pfad. Siehe set_clip_path.

Hinzugefügt in Version 3.8.

dataindizierbares Objekt, optional

Wenn angegeben, akzeptieren alle Parameter auch eine Zeichenkette s, die als data[s] interpretiert wird, wenn s ein Schlüssel in data ist.

Anmerkungen

Hinweis

Dies ist der pyplot-Wrapper für axes.Axes.contourf.

  1. contourf unterscheidet sich von der MATLAB-Version darin, dass es keine Polygonränder zeichnet. Um Ränder zu zeichnen, fügen Sie Linienkonturen mit Aufrufen von contour hinzu.

  2. contourf füllt Intervalle, die nach oben geschlossen sind; d.h. für Grenzen z1 und z2 ist der gefüllte Bereich

    z1 < Z <= z2
    

    mit Ausnahme des untersten Intervalls, das beidseitig geschlossen ist (d. h. es enthält den niedrigsten Wert).

  3. contour und contourf verwenden einen Marching Squares Algorithmus zur Berechnung der Konturlagen. Weitere Informationen finden Sie in der ContourPy-Dokumentation.

Beispiele mit matplotlib.pyplot.contourf#

Kontureckenmaske

Kontureckenmaske

Konturfüllungs-Demo

Konturfüllungs-Demo

Konturfüllung mit Schraffur

Konturfüllung mit Schraffur

Konturfüllung und logarithmische Farbskala

Konturfüllung und logarithmische Farbskala

Konturplot von unregelmäßig verteilten Daten

Konturplot von unregelmäßig verteilten Daten

pcolormesh

pcolormesh

Triinterp Demo

Triinterp Demo