matplotlib.pyplot.pcolormesh#
- matplotlib.pyplot.pcolormesh(*args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, colorizer=None, shading=None, antialiased=False, data=None, **kwargs)[Quelle]#
Erstellt einen Pseudofarben-Plot mit einem nicht-regulären rechteckigen Gitter.
Aufruf-Signatur
pcolormesh([X, Y,] C, /, **kwargs)
X und Y können verwendet werden, um die Ecken der Vierecke festzulegen.
Die Argumente X, Y, C sind nur positionsabhängig.
Hinweis
pcolormeshist ähnlich wiepcolor. Es ist viel schneller und in den meisten Fällen vorzuziehen. Eine detaillierte Diskussion der Unterschiede finden Sie unter Unterschiede zwischen pcolor() und pcolormesh().- Parameter:
- Carray-artig
Die Gitterdaten. Unterstützte Array-Formen sind
(M, N) oder M*N: ein Gitter mit Skalardaten. Die Werte werden über Normalisierung und eine Farbpalette auf Farben abgebildet. Siehe Parameter norm, cmap, vmin, vmax.
(M, N, 3): Ein Bild mit RGB-Werten (0-1 Float oder 0-255 Integer).
(M, N, 4): Ein Bild mit RGBA-Werten (0-1 Float oder 0-255 Integer), d.h. einschließlich Transparenz.
Die ersten beiden Dimensionen (M, N) definieren die Zeilen und Spalten der Gitterdaten.
- X, Yarray-ähnlich, 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. Details finden Sie im Abschnitt Hinweise unten.
Wenn
shading='flat', sollten die Dimensionen von X und Y um eins größer sein als die von C, und das Viereck wird aufgrund des Werts beiC[i, j]gefärbt. Wenn X, Y und C gleiche Dimensionen haben, wird eine Warnung ausgegeben und die letzte Zeile und Spalte von C werden ignoriert.Wenn
shading='nearest'oder'gouraud'ist, müssen die Dimensionen von X und Y mit denen von C übereinstimmen (andernfalls wird ein ValueError ausgelöst). Bei'nearest'ist die FarbeC[i, j]auf(X[i, j], Y[i, j])zentriert. Bei'gouraud'wird eine glatte Interpolation zwischen den Ecken des Vierecks durchgeführt.Wenn X und/oder Y 1D-Arrays oder Spaltenvektoren sind, werden sie nach Bedarf zu den entsprechenden 2D-Arrays erweitert und bilden ein rechteckiges Gitter.
- 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.
- 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
Eine Instanz von
Normalizeoder eine ihrer Unterklassen (siehe Farbkartennormalisierung).Ein Skalennamen, d. h. einer von "linear", "log", "symlog", "logit" usw. Für eine Liste der verfügbaren Skalen rufen Sie
matplotlib.scale.get_scale_names()auf. In diesem Fall wird eine geeigneteNormalize-Unterklasse dynamisch generiert und instanziiert.
- 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).- colorizer
Colorizeroder 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.
- edgecolors{'none', None, 'face', Farbe, Farbsequenz}, optional
Die Farbe der Kanten. Standard ist 'none'. Mögliche Werte
'none' oder '': Keine Kante.
None: Es wird
rcParams["patch.edgecolor"](Standard:'black') verwendet. Beachten Sie, dassrcParams["patch.force_edgecolor"](Standard:False) derzeit auf True gesetzt sein muss, damit dies funktioniert.'face': Verwendet die Farbe der benachbarten Fläche.
Eine einzelne Farbe oder eine Sequenz von Farben setzt die Kantenfarbe.
Die Singularform edgecolor funktioniert als Alias.
- alphafloat, Standard: None
Der Alpha-Mischwert, zwischen 0 (transparent) und 1 (opak).
- shading{'flat', 'nearest', 'gouraud', 'auto'}, optional
Der Füllstil für das Viereck; Standardwert ist
rcParams["pcolor.shading"](Standard:'auto'). Mögliche Werte'flat': Für jedes Viereck wird eine einheitliche Farbe verwendet. Die Farbe des Vierecks (i, j), (i+1, j), (i, j+1), (i+1, j+1) wird durch
C[i, j]bestimmt. Die Dimensionen von X und Y sollten um eins größer sein als die von C; wenn sie die gleichen wie C sind, wird eine Deprecation-Warnung ausgegeben und die letzte Zeile und Spalte von C werden verworfen.'nearest': Jeder Gitterpunkt erhält eine Farbe, die auf ihn zentriert ist und sich bis zur Hälfte zwischen den angrenzenden Gittermittelpunkten erstreckt. Die Dimensionen von X und Y müssen mit denen von C übereinstimmen.
'gouraud': Jedes Viereck wird Gouraud-schattiert: Die Farben der Ecken (i', j') werden von
C[i', j']gegeben. Die Farbwerte des dazwischenliegenden Bereichs werden aus den Eckwerten interpoliert. Die Dimensionen von X und Y müssen mit denen von C übereinstimmen. Wenn Gouraud-Schattierung verwendet wird, wird edgecolors ignoriert.'auto': Wählt 'flat', wenn die Dimensionen von X und Y um eins größer sind als die von C. Wählt 'nearest', wenn die Dimensionen gleich sind.
Siehe pcolormesh-Gitter und Schattierung für weitere Beschreibungen.
- snapbool, Standard: False
Ob das Mesh auf Pixelgrenzen ausgerichtet werden soll.
- rasterizedbool, optional
Rasterisiert das pcolormesh beim Zeichnen von Vektorgrafiken. Dies kann das Rendering beschleunigen und kleinere Dateien für große Datensätze erzeugen. Siehe auch Rasterisierung für Vektorgrafiken.
- Gibt zurück:
- Andere Parameter:
- dataindizierbares Objekt, optional
Wenn angegeben, akzeptieren alle Parameter auch eine Zeichenkette
s, die alsdata[s]interpretiert wird, wennsein Schlüssel indataist.- **kwargs
Zusätzlich sind die folgenden Argumente erlaubt. Sie werden an den
QuadMesh-Konstruktor weitergereichtEigenschaft
Beschreibung
eine Filterfunktion, die ein (m, n, 3) Float-Array und einen dpi-Wert entgegennimmt und ein (m, n, 3) Array und zwei Offsets von der linken unteren Ecke des Bildes zurückgibt
Array-ähnlich oder float oder None
bool
antialiasedoderaaoderantialiasedsbool oder Liste von bools
Arrayarray-like
CapStyleoder {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
BboxBaseoder Nonebool
Patch oder (Path, Transform) oder None
Colormapoder str oder NoneFarbe oder Liste von RGBA-Tupeln
edgecoloroderecoderedgecolorsfacecoloroderfacecolorsoderfcstr
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
unknown
bool
JoinStyleoder {'miter', 'round', 'bevel'}object
linestyleoderdashesoderlinestylesoderlsstr oder Tupel oder Liste davon
linewidthoderlinewidthsoderlwfloat oder Liste von floats
bool
Normalizeoder str oder None(N, 2) oder (2,) Array-ähnlich
Liste von
AbstractPathEffectNone oder bool oder float oder callable
float
bool
(scale: float, length: float, randomness: float)
bool oder None
str
Liste von str oder None
bool
float
Siehe auch
pcolorEine alternative Implementierung mit leicht unterschiedlichen Funktionen. Eine detaillierte Diskussion der Unterschiede finden Sie unter Unterschiede zwischen pcolor() und pcolormesh().
imshowWenn X und Y jeweils äquidistant sind, kann
imshoweine schnellere Alternative sein.
Anmerkungen
Hinweis
Dies ist der pyplot-Wrapper für
axes.Axes.pcolormesh.Maskierte Arrays
C kann ein maskiertes Array sein. Wenn
C[i, j]maskiert ist, ist das entsprechende Viereck transparent. Maskierung von X und Y wird nicht unterstützt. Verwenden Siepcolor, wenn Sie diese Funktionalität benötigen.Gitterorientierung
Die Gitterorientierung folgt der Standard-Matrixkonvention: Ein Array C mit der Form (Anzahl Zeilen, Anzahl Spalten) wird mit der Spaltennummer als X und der Zeilennummer als Y geplottet.
Unterschiede zwischen pcolor() und pcolormesh()
Beide Methoden werden verwendet, um eine Pseudofarbdarstellung eines 2D-Arrays mit Vierecken zu erstellen.
Der Hauptunterschied liegt im erzeugten Objekt und der internen Datenverarbeitung: Während
pcoloreinPolyQuadMeshzurückgibt, gibtpcolormesheinQuadMeshzurück. Letzteres ist spezialisierter für den gegebenen Zweck und daher schneller. Es sollte fast immer bevorzugt werden.Es gibt auch einen geringfügigen Unterschied in der Handhabung maskierter Arrays. Sowohl
pcolorals auchpcolormeshunterstützen maskierte Arrays für C. Nurpcolorunterstützt jedoch maskierte Arrays für X und Y. Der Grund liegt in der internen Handhabung der maskierten Werte.pcolorlässt die entsprechenden Polygone aus dem PolyQuadMesh weg.pcolormeshsetzt die Füllfarbe der maskierten Elemente auf transparent. Diesen Unterschied erkennt man, wenn man edgecolors verwendet. Während bei einem QuadMesh alle Kanten unabhängig von der Maskierung gezeichnet werden, wird die Kante zwischen zwei benachbarten maskierten Vierecken beipcolornicht gezeichnet, da die entsprechenden Polygone im PolyQuadMesh nicht existieren. Da PolyQuadMesh jedes einzelne Polygon zeichnet, unterstützt es auch die Anwendung von Schraffuren und Linienstilen auf die Sammlung.Ein weiterer Unterschied ist die Unterstützung der Gouraud-Schattierung in
pcolormesh, die beipcolornicht verfügbar ist.