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
pcolormesh
ist ähnlich wiepcolor
. 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:
Eine Instanz
Normalize
oder eine ihrer Unterklassen (siehe Colormap-Normalisierung ).Ein Skalenname, z. B. „linear“, „log“, „symlog“, „logit“ usw. Rufen Sie für eine Liste der verfügbaren Skalen auf
matplotlib.scale.get_scale_names()
. In diesem Fall wird eine geeigneteNormalize
Unterklasse dynamisch generiert und instanziiert.
- 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 aktuellrcParams["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 :
- Andere Parameter :
- data indexierbares Objekt, optional
Wenn angegeben, akzeptieren alle Parameter auch einen String
s
, der als interpretiert wirddata[s]
(es sei denn, dies löst eine Ausnahme aus).- **Kwarg
Zusätzlich sind die folgenden Argumente zulässig. Sie werden an den
QuadMesh
Konstruktor weitergegeben:Eigentum
Beschreibung
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
Array-ähnlich oder Skalar oder None
bool
antialiased
oder aa oder Antialiasingbool oder Liste von bools
(M, N) Array-ähnlich oder M*N Array-ähnlich
CapStyle
oder {'hinter', 'vorstehend', 'rund'}(vmin: Float, vmax: Float)
bool
Patch oder (Pfad, Transform) oder None
Colormap
oder str oder KeineFarbe oder Liste von RGBA-Tupeln
edgecolor
oder ec oder edgecolorsFarbe oder Liste von Farben oder 'Gesicht'
facecolor
oder facecolors oder fcFarbe oder Farbliste
Str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyle
oder {'Gehrung', 'rund', 'Fase'}Objekt
linestyle
oder Bindestriche oder Linienstile oder lsstr oder Tupel oder Liste davon
linewidth
oder Linienbreiten oder lwFloat oder Liste von Floats
bool
Normalize
oder str oder Keineoffset_transform
oder transOffsetUnbekannt
(N, 2) oder (2,) Array-artig
None oder bool oder float oder aufrufbar
Unbekannt
bool
(Maßstab: Float, Länge: Float, Zufälligkeit: Float)
bool oder Keine
Str
Liste von str oder None
bool
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,
imshow
kann 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
pcolor
ein zurückgegebenPolyCollection
wird, wirdpcolormesh
ein zurückgegebenQuadMesh
. 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
pcolor
als auchpcolormesh
unterstützen maskierte Arrays für C . Unterstützt jedoch nurpcolor
maskierte Arrays für X und Y . Der Grund liegt in der internen Handhabung der maskierten Werte.pcolor
lässt die jeweiligen Polygone aus der PolyCollection weg.pcolormesh
setzt 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 inpcolor
nicht 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 istpcolor
.