matplotlib.pyplot.pcolormesh #
- matplotlib.pyplot. pcolormesh ( * args , alpha = None , norm = None , cmap = None , vmin = None , vmax = None , shading = None , antialiased = False , data = None , ** kwargs ) [fonte] #
Crea un grafico pseudocolore con una griglia rettangolare non regolare.
Firma chiamata:
pcolormesh([X, Y,] C, **kwargs)
X e Y possono essere usati per specificare gli angoli dei quadrilateri.
Suggerimento
pcolormesh
è simile apcolor
. È molto più veloce e preferito nella maggior parte dei casi. Per una discussione dettagliata sulle differenze vedere Differenze tra pcolor() e pcolormesh() .- Parametri :
- C simile a un array 2D
I valori mappati a colori. La mappatura dei colori è controllata da cmap , norm , vmin e vmax .
- X, Y simile a un array, facoltativo
Le coordinate degli angoli dei quadrilateri di un 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])
Si noti che l'indice di colonna corrisponde alla coordinata x e l'indice di riga corrisponde a y. Per i dettagli, vedere la sezione Note di seguito.
Se
shading='flat'
le dimensioni di X e Y dovessero essere maggiori di una di quelle di C , e il quadrilatero è colorato a causa del valore in . Se X , Y e C hanno dimensioni uguali, verrà generato un avviso e l'ultima riga e colonna di C verrà ignorata.C[i, j]
Se
shading='nearest'
o'gouraud'
, le dimensioni di X e Y dovrebbero essere le stesse di C (in caso contrario, verrà sollevato un ValueError). Perché'nearest'
il colore è centrato su . Per , viene eseguita un'interpolazione uniforme tra gli angoli del quadrilatero.C[i, j]
(X[i, j], Y[i, j])
'gouraud'
Se X e/o Y sono array 1-D o vettori colonna, verranno espansi secondo necessità negli array 2D appropriati, creando una griglia rettangolare.
- cmap str o
Colormap
, predefinito:rcParams["image.cmap"]
(predefinito:'viridis'
) L'istanza Colormap o il nome registrato della mappa colori utilizzato per mappare i dati scalari ai colori.
- norm str o
Normalize
, facoltativo Il metodo di normalizzazione utilizzato per ridimensionare i dati scalari nell'intervallo [0, 1] prima della mappatura ai colori utilizzando cmap . Per impostazione predefinita, viene utilizzato un ridimensionamento lineare, mappando il valore più basso su 0 e il più alto su 1.
Se indicato, può essere uno dei seguenti:
Un'istanza di
Normalize
o una delle sue sottoclassi (vedere Normalizzazione della mappa dei colori ).Un nome di scala, ad esempio "linear", "log", "symlog", "logit", ecc. Per un elenco delle scale disponibili, chiamare
matplotlib.scale.get_scale_names()
.Normalize
In tal caso, una sottoclasse adatta viene generata dinamicamente e istanziata.
- vmin, vmax float, facoltativo
Quando si utilizzano dati scalari e nessuna norma esplicita , vmin e vmax definiscono l'intervallo di dati coperto dalla mappa dei colori. Per impostazione predefinita, la mappa dei colori copre l'intero intervallo di valori dei dati forniti. È un errore utilizzare vmin / vmax quando viene fornita un'istanza di norma (ma l'utilizzo di un nome di norma insieme a vmin / vmax è accettabile).
str
- edgecolors {'none', None, 'face', color, color sequence}, facoltativo
Il colore dei bordi. Il valore predefinito è 'nessuno'. Possibili valori:
'none' o '': nessun bordo.
Nessuno :
rcParams["patch.edgecolor"]
(predefinito:'black'
) verrà utilizzato. Si noti che attualmentercParams["patch.force_edgecolor"]
(default:False
) deve essere True affinché funzioni.'faccia': usa il colore della faccia adiacente.
Un colore o una sequenza di colori imposterà il colore del bordo.
La forma singolare edgecolor funziona come alias.
- alfa float, predefinito: Nessuno
Il valore di fusione alfa, compreso tra 0 (trasparente) e 1 (opaco).
- shading {'flat', 'nearest', 'gouraud', 'auto'}, facoltativo
Lo stile di riempimento per il quadrilatero; il valore predefinito è 'flat' o
rcParams["pcolor.shading"]
(predefinito:'auto'
). Possibili valori:'flat': viene utilizzato un colore a tinta unita per ogni quad. Il colore del quadrato (i, j), (i+1, j), (i, j+1), (i+1, j+1) è dato da . Le dimensioni di X e Y dovrebbero essere maggiori di una di quelle di C ; se sono uguali a C , viene generato un avviso di deprecazione e l'ultima riga e colonna di C vengono eliminate.
C[i, j]
'più vicino': ogni punto della griglia avrà un colore centrato su di esso, che si estende a metà strada tra i centri della griglia adiacenti. Le dimensioni di X e Y devono essere le stesse di C .
'gouraud': Ogni quad sarà Gouraud ombreggiato: Il colore degli angoli (i', j') è dato da . I valori di colore dell'area intermedia vengono interpolati dai valori degli angoli. Le dimensioni di X e Y devono essere le stesse di C . Quando si utilizza l'ombreggiatura Gouraud, edgecolors viene ignorato.
C[i', j']
'auto': scegli 'piatto' se le dimensioni di X e Y sono maggiori di una unità rispetto a C . Scegli "più vicino" se le dimensioni sono le stesse.
Vedere le griglie pcolormesh e l'ombreggiatura per ulteriori descrizioni.
- snap bool, predefinito: falso
Se agganciare la mesh ai limiti dei pixel.
- bool rasterizzato , facoltativo
Rasterizza pcolormesh durante il disegno di grafica vettoriale. Questo può velocizzare il rendering e produrre file più piccoli per set di dati di grandi dimensioni. Vedere anche Rasterizzazione per la grafica vettoriale .
- Resi :
- Altri parametri :
- oggetto indicizzabile dei dati , facoltativo
Se fornito, tutti i parametri accettano anche una stringa
s
, che viene interpretata comedata[s]
(a meno che ciò non sollevi un'eccezione).- **kwargs
Inoltre, sono consentiti i seguenti argomenti. Vengono passati al
QuadMesh
costruttore:Proprietà
Descrizione
una funzione di filtro, che accetta un array float (m, n, 3) e un valore dpi e restituisce un array (m, n, 3) e due offset dall'angolo in basso a sinistra dell'immagine
tipo array o scalare o None
bool
antialiased
o aa o antialiasbool o elenco di bool
(M, N) tipo array o M*N tipo array
CapStyle
o {'culo', 'sporgente', 'rotondo'}(vmin: float, vmax: float)
bool
Patch o (Percorso, Trasforma) o Nessuno
Colormap
o str o Nessunocolore o elenco di tuple rgba
edgecolor
o ec o edgecolorscolore o elenco di colori o 'volto'
facecolor
o facecolors o fccolore o elenco di colori
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyle
o {'mitre', 'round', 'bevel'}oggetto
linestyle
o trattini o stili di linea o lsstr o tuple o loro elenchi
linewidth
o linewidths o lwfloat o lista di float
bool
Normalize
o str o Nessunooffset_transform
o transOffsetsconosciuto
(N, 2) o (2,) simile a un array
Nessuno o bool o float o richiamabile
sconosciuto
bool
(scala: float, lunghezza: float, casualità: float)
bool o Nessuno
str
elenco di str o Nessuno
bool
galleggiante
Guarda anche
pcolor
Un'implementazione alternativa con caratteristiche leggermente diverse. Per una discussione dettagliata sulle differenze vedere Differenze tra pcolor() e pcolormesh() .
imshow
Se X e Y sono equidistanti,
imshow
può essere un'alternativa più veloce.
Appunti
Matrici mascherate
C può essere un array mascherato. Se è mascherato, il quadrilatero corrispondente sarà trasparente. Il mascheramento di X e Y non è supportato. Usa se hai bisogno di questa funzionalità.
C[i, j]
pcolor
Orientamento della griglia
L'orientamento della griglia segue la convenzione standard della matrice: un array C con forma (nrows, ncolumns) viene tracciato con il numero di colonna come X e il numero di riga come Y .
Differenze tra pcolor() e pcolormesh()
Entrambi i metodi vengono utilizzati per creare un grafico pseudocolore di una matrice 2D utilizzando quadrilateri.
La differenza principale risiede nell'oggetto creato e nella gestione interna dei dati: mentre
pcolor
restituisce aPolyCollection
,pcolormesh
restituisce aQuadMesh
. Quest'ultimo è più specializzato per lo scopo dato e quindi è più veloce. Dovrebbe essere quasi sempre preferito.C'è anche una leggera differenza nella gestione degli array mascherati. Entrambi
pcolor
epcolormesh
supportano gli array mascherati per C . Tuttavia,pcolor
supporta solo array mascherati per X e Y . Il motivo risiede nella gestione interna dei valori mascherati.pcolor
tralascia i rispettivi poligoni dalla PolyCollection.pcolormesh
imposta il colore della faccia degli elementi mascherati su trasparente. Puoi vedere la differenza quando usi edgecolors. Mentre tutti i bordi vengono disegnati indipendentemente dal mascheramento in un QuadMesh, il bordo tra due quadrilateri mascherati adiacentipcolor
non viene disegnato in quanto i poligoni corrispondenti non esistono nella PolyCollection.Un'altra differenza è il supporto dell'ombreggiatura Gouraud in
pcolormesh
, che non è disponibile conpcolor
.