matplotlib.pyplot.contourf #

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

Zeichnen Sie gefüllte Konturen.

Rufsignatur:

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

contourund contourfKonturlinien 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) == Nlen(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 MaxNLocatorSie , 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 :
QuadContourSet
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. Wenn Trueimmer 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 contourund die Flächen für contourf.

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:

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 contourfEinfä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über max(levels)werden den Unter-/Über-Werten von zugeordnet Colormap. 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 mit Colormap.set_underund festlegen Colormap.set_over.

Notiz

Eine vorhandene QuadContourSetwird nicht benachrichtigt, wenn Eigenschaften ihrer Farbtabelle geändert werden. Daher ist nach dem Ändern der Farbtabelle ein expliziter Aufruf QuadContourSet.changed()erforderlich. Der explizite Aufruf kann weggelassen werden, wenn dem ein Farbbalken zugeordnet ist, QuadContourSetda dieser intern aufruft QuadContourSet.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 wird data[s](es sei denn, dies löst eine Ausnahme aus).

Anmerkungen

  1. contourfunterscheidet sich von der MATLAB-Version dadurch, dass die Polygonkanten nicht gezeichnet werden. Um Kanten zu zeichnen, fügen Sie Linienkonturen mit Aufrufen von hinzu contour.

  2. contourffü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).

  3. contourund contourfeinen Marschquadratalgorithmus verwenden, um Konturpositionen zu berechnen. Weitere Informationen finden Sie in der ContourPy-Dokumentation .