matplotlib.pyplot.pcolormesh #

matplotlib.pyplot. pcolormesh ( * args , alpha = None , norm = None , cmap = None , vmin = None , vmax = None , shading = None , antialiased = False , data = None , ** kwargs ) [source] #

Erstellen Sie ein Pseudofarbendiagramm mit einem unregelmäßigen rechteckigen Gitter.

Rufsignatur:

pcolormesh([X, Y,] C, **kwargs)

X und Y können verwendet werden, um die Ecken der Vierecke anzugeben.

Hinweis

pcolormeshist ähnlich wie pcolor. Es ist viel schneller und wird in den meisten Fällen bevorzugt. Für eine detaillierte Diskussion der Unterschiede siehe Unterschiede zwischen pcolor() und pcolormesh() .

Parameter :
C 2D-Array-ähnlich

Die farblich abgebildeten Werte. Die Farbzuordnung wird durch cmap , norm , vmin und vmax gesteuert .

X, Y Array-artig, optional

Die Koordinaten der Ecken von Vierecken eines pcolormesh:

(X[i+1, j], Y[i+1, j])       (X[i+1, j+1], Y[i+1, j+1])
                      +-----+
                      |     |
                      +-----+
    (X[i, j], Y[i, j])       (X[i, j+1], Y[i, j+1])

Beachten Sie, dass der Spaltenindex der x-Koordinate und der Zeilenindex der y-Koordinate entspricht. Einzelheiten finden Sie im Abschnitt „ Hinweise “ weiter unten.

Wenn shading='flat'die Dimensionen von X und Y um eins größer sein sollen als die von C und das Viereck aufgrund des Wertes bei eingefärbt wird . Wenn X , Y und C gleiche Dimensionen haben, wird eine Warnung ausgegeben und die letzte Zeile und Spalte von C werden ignoriert.C[i, j]

Wenn shading='nearest'oder 'gouraud', sollten die Dimensionen von X und Y denen von C entsprechen (wenn nicht, wird ein ValueError ausgelöst). Denn 'nearest'die Farbe ist auf zentriert . Für wird zwischen den Ecken des Vierecks eine glatte Interpolation durchgeführt.C[i, j](X[i, j], Y[i, j])'gouraud'

Wenn X und/oder Y 1-D-Arrays oder Spaltenvektoren sind, werden sie nach Bedarf in die entsprechenden 2D-Arrays erweitert, wodurch ein rechteckiges Gitter entsteht.

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.

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:

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

edgecolors {'none', None, 'face', Farbe, Farbfolge}, optional

Die Farbe der Kanten. Standardmäßig 'keine'. Mögliche Werte:

  • 'none' oder '': Kein Rand.

  • Keine : rcParams["patch.edgecolor"](Standard: 'black') wird verwendet. Beachten Sie, dass aktuell rcParams["patch.force_edgecolor"](Standard: False) True sein muss, damit dies funktioniert.

  • 'face': Verwenden Sie die angrenzende Gesichtsfarbe.

  • Eine Farbe oder Farbfolge legt die Randfarbe fest.

Die Singularform edgecolor fungiert als Alias.

Alphafloat , Standard: Keine

Der Alpha-Blending-Wert zwischen 0 (transparent) und 1 (deckend).

Schattierung {'flat', 'nearest', 'gouraud', 'auto'}, optional

Der Füllstil für das Viereck; ist standardmäßig 'flach' oder rcParams["pcolor.shading"](Standard: 'auto'). Mögliche Werte:

  • 'flach': Für jedes Quad wird eine Volltonfarbe verwendet. Die Farbe des Quaders (i, j), (i+1, j), (i, j+1), (i+1, j+1) ist gegeben durch . Die Dimensionen von X und Y sollten um eins größer sein als die von C ; Wenn sie mit C identisch sind , wird eine Verfallswarnung ausgegeben und die letzte Zeile und Spalte von C werden gelöscht.C[i, j]

  • 'am nächsten': Jeder Gitterpunkt hat eine darauf zentrierte Farbe, die sich auf halber Strecke zwischen den benachbarten Gitterzentren erstreckt. Die Dimensionen von X und Y müssen mit C übereinstimmen .

  • 'gouraud': Jedes Quad wird Gouraud-schattiert: Die Farbe der Ecken (i', j') wird durch angegeben . Die Farbwerte des Bereichs dazwischen werden aus den Eckwerten interpoliert. Die Dimensionen von X und Y müssen mit C übereinstimmen . Wenn Gouraud-Shading verwendet wird, wird edgecolors ignoriert.C[i', j']

  • 'auto': Wählen Sie 'flat', wenn die Dimensionen von X und Y um eins größer als C sind . Wählen Sie „am nächsten“, wenn die Abmessungen gleich sind.

Siehe pcolormesh Gitter und Schattierung für eine weitere Beschreibung.

snap bool, Standard: False

Ob das Netz an Pixelgrenzen ausgerichtet werden soll.

gerasterter bool, optional

Rastern Sie das pcolormesh beim Zeichnen von Vektorgrafiken. Dies kann das Rendern beschleunigen und kleinere Dateien für große Datenmengen erzeugen. Siehe auch Rasterung für Vektorgrafiken .

Rückgaben :
matplotlib.collections.QuadMesh
Andere Parameter :
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).

**Kwarg

Zusätzlich sind die folgenden Argumente zulässig. Sie werden an den QuadMeshKonstruktor weitergegeben:

Eigentum

Beschreibung

agg_filter

eine Filterfunktion, die ein (m, n, 3) Float-Array und einen dpi-Wert akzeptiert und ein (m, n, 3)-Array und zwei Offsets von der unteren linken Ecke des Bildes zurückgibt

alpha

Array-ähnlich oder Skalar oder None

animated

bool

antialiasedoder aa oder Antialiasing

bool oder Liste von bools

array

(M, N) Array-ähnlich oder M*N Array-ähnlich

capstyle

CapStyleoder {'hinter', 'vorstehend', 'rund'}

clim

(vmin: Float, vmax: Float)

clip_box

Bbox

clip_on

bool

clip_path

Patch oder (Pfad, Transform) oder None

cmap

Colormapoder str oder Keine

color

Farbe oder Liste von RGBA-Tupeln

edgecoloroder ec oder edgecolors

Farbe oder Liste von Farben oder 'Gesicht'

facecoloroder facecolors oder fc

Farbe oder Farbliste

figure

Figure

gid

Str

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

in_layout

bool

joinstyle

JoinStyleoder {'Gehrung', 'rund', 'Fase'}

label

Objekt

linestyleoder Bindestriche oder Linienstile oder ls

str oder Tupel oder Liste davon

linewidthoder Linienbreiten oder lw

Float oder Liste von Floats

mouseover

bool

norm

Normalizeoder str oder Keine

offset_transformoder transOffset

Unbekannt

offsets

(N, 2) oder (2,) Array-artig

path_effects

AbstractPathEffect

picker

None oder bool oder float oder aufrufbar

pickradius

Unbekannt

rasterized

bool

sketch_params

(Maßstab: Float, Länge: Float, Zufälligkeit: Float)

snap

bool oder Keine

transform

Transform

url

Str

urls

Liste von str oder None

visible

bool

zorder

schweben

Siehe auch

pcolor

Eine alternative Implementierung mit etwas anderen Funktionen. Für eine detaillierte Diskussion der Unterschiede siehe Unterschiede zwischen pcolor() und pcolormesh() .

imshow

Wenn X und Y jeweils äquidistant sind, imshowkann das eine schnellere Alternative sein.

Anmerkungen

Maskierte Arrays

C kann ein maskiertes Array sein. Wenn maskiert ist, ist das entsprechende Viereck transparent. Das Maskieren von X und Y wird nicht unterstützt. Verwenden Sie diese Funktion, wenn Sie sie benötigen.C[i, j]pcolor

Gitterausrichtung

Die Gitterausrichtung folgt der Standard-Matrix-Konvention: Ein Array C mit Form (nrows, ncolumns) wird mit der Spaltennummer als X und der Zeilennummer als Y gezeichnet .

Unterschiede zwischen pcolor() und pcolormesh()

Beide Methoden werden verwendet, um ein Pseudofarbendiagramm eines 2D-Arrays unter Verwendung von Vierecken zu erstellen.

Der Hauptunterschied liegt im erstellten Objekt und der internen Datenbehandlung: Während pcolorein zurückgegeben PolyCollectionwird, wird pcolormesh ein zurückgegeben QuadMesh. Letzteres ist für den jeweiligen Zweck spezialisierter und damit schneller. Es sollte fast immer bevorzugt werden.

Es gibt auch einen kleinen Unterschied in der Handhabung von maskierten Arrays. Sowohl pcolorals auch pcolormeshunterstützen maskierte Arrays für C . Unterstützt jedoch nur pcolormaskierte Arrays für X und Y . Der Grund liegt in der internen Handhabung der maskierten Werte. pcolorlässt die jeweiligen Polygone aus der PolyCollection weg. pcolormeshsetzt die Gesichtsfarbe der maskierten Elemente auf transparent. Sie können den Unterschied sehen, wenn Sie Kantenfarben verwenden. Während in einem QuadMesh alle Kanten unabhängig von der Maskierung gezeichnet werden, wird die Kante zwischen zwei benachbarten maskierten Vierecken in pcolornicht gezeichnet, da die entsprechenden Polygone nicht in der PolyCollection vorhanden sind.

Ein weiterer Unterschied ist die Unterstützung der Gouraud-Einschattierung pcolormesh, die mit nicht verfügbar ist pcolor.