matplotlib.axes.Axes.contourf #
- Assi. contourf ( * args , data = None , ** kwargs ) [fonte] #
Traccia i contorni riempiti.
Firma chiamata:
contourf([X, Y,] Z, [levels], **kwargs)
contour
econtourf
disegnare rispettivamente linee di contorno e contorni riempiti. Ad eccezione di quanto indicato, le firme delle funzioni ei valori restituiti sono gli stessi per entrambe le versioni.- Parametri :
- X, Y simile a un array, facoltativo
Le coordinate dei valori in Z .
X e Y devono essere entrambi 2D con la stessa forma di Z (ad es. creati tramite
numpy.meshgrid
), oppure devono essere entrambi 1-D tale che è il numero di colonne in Z ed è il numero di righe in Z .len(X) == N
len(Y) == M
X e Y devono essere entrambi ordinati in modo monotono.
Se non dati, si assume che siano indici interi, cioè , .
X = range(N)
Y = range(M)
- Z (M, N) simile a un array
I valori di altezza su cui viene disegnato il contorno. La mappatura dei colori è controllata da cmap , norm , vmin e vmax .
- livelli int o simile a un array, facoltativo
Determina il numero e le posizioni delle linee di contorno/aree.
Se un int n , usa
MaxNLocator
, che tenta di scegliere automaticamente non più di n+1 livelli di contorno "buoni" tra vmin e vmax .Se simile a una matrice, disegna linee di contorno ai livelli specificati. I valori devono essere in ordine crescente.
- Resi :
- Altri parametri :
- corner_mask bool, predefinito:
rcParams["contour.corner_mask"]
(predefinito:True
) Abilita/disabilita il mascheramento degli angoli, che ha effetto solo se Z è un array mascherato. Se
False
, qualsiasi quad che tocca un punto mascherato viene mascherato. SeTrue
, solo gli angoli triangolari dei quad più vicini a questi punti sono sempre mascherati, gli altri angoli triangolari comprendenti tre punti non mascherati vengono sagomati come di consueto.- colors stringa di colori o sequenza di colori, facoltativo
I colori dei livelli, cioè le linee per
contour
e le aree percontourf
.La sequenza viene ciclata per i livelli in ordine crescente. Se la sequenza è più breve del numero di livelli, viene ripetuta.
Come scorciatoia, si possono usare stringhe di un solo colore al posto di elenchi di un elemento, cioè
'red'
invece di['red']
colorare tutti i livelli con lo stesso colore. Questa scorciatoia funziona solo per le stringhe di colore, non per altri modi di specificare i colori.Per impostazione predefinita (valore None ), verrà utilizzata la mappa colori specificata da cmap .
- alfa float, predefinito: 1
Il valore di fusione alfa, compreso tra 0 (trasparente) e 1 (opaco).
- 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.
Questo parametro viene ignorato se i colori sono impostati.
- 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.
Questo parametro viene ignorato se i colori sono impostati.
- 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
Se vmin o vmax non sono specificati, il ridimensionamento del colore predefinito è basato su livelli .
Questo parametro viene ignorato se i colori sono impostati.
- origin { Nessuno , 'superiore', 'inferiore', 'immagine'}, predefinito: Nessuno
Determina l'orientamento e la posizione esatta di Z specificando la posizione di . Questo è rilevante solo se X , Y non sono dati.
Z[0, 0]
Nessuno : è in X=0, Y=0 nell'angolo in basso a sinistra.
Z[0, 0]
'inferiore': è in X=0.5, Y=0.5 nell'angolo in basso a sinistra.
Z[0, 0]
'superiore': è in X=N+0.5, Y=0.5 nell'angolo in alto a sinistra.
Z[0, 0]
'image': utilizza il valore da
rcParams["image.origin"]
(predefinito:'upper'
).
- estensione (x0, x1, y0, y1), opzionale
Se origin non è None , extent viene interpretato come in
imshow
: fornisce i limiti dei pixel esterni. In questo caso, la posizione di Z[0, 0] è il centro del pixel, non un angolo. Se origin è None , allora ( x0 , y0 ) è la posizione di Z[0, 0] e ( x1 , y1 ) è la posizione di Z[-1, -1].Questo argomento viene ignorato se X e Y sono specificati nella chiamata a contour.
- locator ticker.Locator sottoclasse, facoltativo
Il localizzatore viene utilizzato per determinare i livelli di contorno se non vengono forniti esplicitamente tramite i livelli . Il valore predefinito è
MaxNLocator
.- extend {'nessuno', 'entrambi', 'min', 'max'}, default: 'nessuno'
Determina la
contourf
colorazione dei valori che non rientrano nell'intervallo dei livelli .Se "nessuno dei due", i valori al di fuori dell'intervallo dei livelli non sono colorati. Se 'min', 'max' o 'entrambi', colora i valori sotto, sopra o sotto e sopra l' intervallo dei livelli .
I valori al di sotto
min(levels)
e al di sopramax(levels)
sono mappati ai valori under/over diColormap
. Si noti che la maggior parte delle mappe di colori non ha colori dedicati per questi per impostazione predefinita, in modo che i valori sopra e sotto siano i valori del bordo della mappa di colori. Potresti voler impostare questi valori in modo esplicito usandoColormap.set_under
eColormap.set_over
.Nota
Un esistente
QuadContourSet
non viene avvisato se le proprietà della sua mappa dei colori vengono modificate. Pertanto, è necessaria una chiamata esplicitaQuadContourSet.changed()
dopo aver modificato la mappa dei colori. La chiamata esplicita può essere tralasciata, se una barra dei colori è assegnata aQuadContourSet
perché chiama internamenteQuadContourSet.changed()
.Esempio:
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 unità registrate, facoltativo
Sostituisci le unità dell'asse specificando un'istanza di un file
matplotlib.units.ConversionInterface
.- bool antialiased , facoltativo
Abilita l'antialiasing, sovrascrivendo le impostazioni predefinite. Per i contorni riempiti, l'impostazione predefinita è True . Per i contorni delle linee, viene preso da
rcParams["lines.antialiased"]
(predefinito:True
).- nchunk int >= 0, facoltativo
Se 0, nessuna suddivisione del dominio. Specificare un numero intero positivo per dividere il dominio in sottodomini di nchunk per nchunk quadrupli. Chunking riduce la lunghezza massima dei poligoni generati dall'algoritmo di contouring che riduce il carico di lavoro di rendering passato al back-end e richiede anche un po' meno RAM. Può tuttavia introdurre artefatti di rendering ai limiti del blocco a seconda del back-end, del flag antialias e del valore di alpha .
- linewidths float o simile ad un array, default:
rcParams["contour.linewidth"]
(default:None
) Si applica solo a
contour
.La larghezza della linea delle curve di livello.
Se è un numero, tutti i livelli verranno tracciati con questa larghezza di riga.
Se una sequenza, i livelli in ordine crescente verranno tracciati con le larghezze di riga nell'ordine specificato.
Se None, ritorna a
rcParams["lines.linewidth"]
(predefinito:1.5
).- stili di linea { Nessuno , 'solido', 'tratteggiato', 'dashdot', 'punteggiato'}, facoltativo
Si applica solo a
contour
.Se linestyles è None , l'impostazione predefinita è 'solid' a meno che le linee non siano monocromatiche. In tal caso, i contorni negativi prenderanno invece il loro stile di linea dall'argomento negative_linestyles .
linestyles può anche essere un iterabile delle stringhe precedenti specificando un insieme di linestyles da usare. Se questo iterabile è più breve del numero di livelli di contorno, verrà ripetuto se necessario.
- negative_linestyles { Nessuno , 'solido', 'tratteggiato', 'dashdot', 'punteggiato'}, facoltativo
Si applica solo a
contour
.Se linestyles è None e le linee sono monocromatiche, questo argomento specifica lo stile della linea per i contorni negativi.
Se negative_linestyles è None , il valore predefinito viene preso da
rcParams["contour.negative_linestyles"]
.negative_linestyles può anche essere un iterabile delle stringhe precedenti specificando un insieme di stili di linea da utilizzare. Se questo iterabile è più breve del numero di livelli di contorno, verrà ripetuto se necessario.
- lista dei tratteggi [str], facoltativo
Si applica solo a
contourf
.Un elenco di modelli di tratteggio incrociato da utilizzare sulle aree riempite. Se Nessuno, non verrà aggiunto alcun tratteggio al contorno. Il tratteggio è supportato solo nei backend PostScript, PDF, SVG e Agg.
- algoritmo {'mpl2005', 'mpl2014', 'serial', 'threaded'}, facoltativo
Quale algoritmo di contornatura utilizzare per calcolare le curve di livello e i poligoni. Gli algoritmi sono implementati in ContourPy , consultare la documentazione di ContourPy per ulteriori informazioni.
Il valore predefinito è preso da
rcParams["contour.algorithm"]
(default:'mpl2014'
).- 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).
- corner_mask bool, predefinito:
Appunti
contourf
differisce dalla versione MATLAB in quanto non disegna i bordi del poligono. Per disegnare i bordi, aggiungi i contorni delle linee con le chiamate acontour
.contourf
riempie gli intervalli chiusi in alto; ovvero, per i limiti z1 e z2 , l'area piena è:z1 < Z <= z2
ad eccezione dell'intervallo più basso, che è chiuso su entrambi i lati (cioè include il valore più basso).
contour
econtourf
utilizzare un algoritmo dei quadrati in marcia per calcolare le posizioni dei contorni. Ulteriori informazioni sono disponibili nella documentazione di ContourPy .
Esempi che utilizzano matplotlib.axes.Axes.contourf
#
Scala dei colori di contorno e registro
Contour plot di dati spaziati irregolarmente
Grafico della superficie della scatola 3D
Proiezione di un contorno pieno su un grafico