matplotlib.pyplot.contour#

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

Plottet Konturlinien.

Aufruf-Signatur

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

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

contour und contourf zeichnen Konturlinien bzw. gefüllte Konturen. Sofern 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. der Linien für contour und der 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 auf die Unter-/Überwerte der Colormap abgebildet. Beachten Sie, dass die meisten Colormaps standardmäßig keine dedizierten Farben für diese haben, sodass die Unter- und Überwerte die Randwerte der Colormap sind. Möglicherweise möchten Sie diese Werte 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 changed() erforderlich, nachdem die Colormap geändert wurde. Der explizite Aufruf kann weggelassen werden, wenn dem QuadContourSet eine Farbfläche zugewiesen ist, da diese 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 die pyplot-Wrapperfunktion für axes.Axes.contour.

  1. contourf unterscheidet sich von der MATLAB-Version darin, dass es die Polygonkanten nicht zeichnet. Um Kanten zu zeichnen, fügen Sie Linienkonturen mit Aufrufen von contour hinzu.

  2. contourf füllt Intervalle, die oben geschlossen sind; das heißt, für Grenzen z1 und z2 ist die gefüllte Region

    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, um Konturlagen zu berechnen. Weitere Informationen finden Sie in der ContourPy-Dokumentation.

Beispiele mit matplotlib.pyplot.contour#

Interaktive Funktionen

Interaktive Funktionen

Kontureckenmaske

Kontureckenmaske

Kontur Demo

Kontur Demo

Konturbild

Konturbild

Konturbeschriftungs-Demo

Konturbeschriftungs-Demo

Konturfüllungs-Demo

Konturfüllungs-Demo

Konturfüllung mit Schraffur

Konturfüllung mit Schraffur

Transparenz mit Farbe in 2D-Bildern mischen

Transparenz mit Farbe in 2D-Bildern mischen

Konturplot von unregelmäßig verteilten Daten

Konturplot von unregelmäßig verteilten Daten