matplotlib.pyplot.imshow #
- matplotlib.pyplot. imshow ( X , cmap = Nessuno , norm = Nessuno , * , aspect = Nessuno , interpolation = Nessuno , alpha = Nessuno , vmin = Nessuno , vmax = Nessuno , origin = Nessuno , extent = Nessuno , interpolation_stage = Nessuno , filternorm = True ,filterrad = 4.0 , resample = None , url = None , data = None , ** kwargs ) [fonte] #
Visualizza i dati come un'immagine, ad esempio su un normale raster 2D.
L'input può essere costituito da dati RGB(A) effettivi o da dati scalari 2D, che verranno resi come un'immagine pseudocolore. Per visualizzare un'immagine in scala di grigi impostare la mappatura dei colori utilizzando i parametri .
cmap='gray', vmin=0, vmax=255
Il numero di pixel utilizzati per il rendering di un'immagine è impostato dalla dimensione degli assi e dal dpi della figura. Questo può portare a artefatti di aliasing quando l'immagine viene ricampionata perché la dimensione dell'immagine visualizzata di solito non corrisponde alla dimensione di X (vedi Antialiasing dell'immagine ). Il ricampionamento può essere controllato tramite il parametro di interpolazione
rcParams["image.interpolation"]
e/o (default:'antialiased'
).- Parametri :
- Immagine simile a un array X o PIL
I dati dell'immagine. Le forme di array supportate sono:
(M, N): un'immagine con dati scalari. I valori vengono mappati ai colori utilizzando la normalizzazione e una mappa dei colori. Vedere i parametri norm , cmap , vmin , vmax .
(M, N, 3): un'immagine con valori RGB (0-1 float o 0-255 int).
(M, N, 4): un'immagine con valori RGBA (0-1 float o 0-255 int), cioè comprensiva di trasparenza.
Le prime due dimensioni (M, N) definiscono le righe e le colonne dell'immagine.
I valori RGB(A) fuori intervallo vengono ritagliati.
- 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 X è RGB(A).
- 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 X è RGB(A).
- 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
Questo parametro viene ignorato se X è RGB(A).
- aspect {'equal', 'auto'} o float, default:
rcParams["image.aspect"]
(default:'equal'
) Le proporzioni degli assi. Questo parametro è particolarmente rilevante per le immagini poiché determina se i pixel dei dati sono quadrati.
Questo parametro è una scorciatoia per chiamare in modo esplicito
Axes.set_aspect
. Vedi lì per ulteriori dettagli.'equal': garantisce un rapporto di aspetto pari a 1. I pixel saranno quadrati (a meno che le dimensioni dei pixel non siano esplicitamente rese non quadrate nelle coordinate dei dati utilizzando extent ).
'auto': gli assi vengono mantenuti fissi e l'aspetto viene regolato in modo che i dati si adattino agli assi. In generale, ciò si tradurrà in pixel non quadrati.
- interpolazione str, predefinito:
rcParams["image.interpolation"]
(predefinito:'antialiased'
) Il metodo di interpolazione utilizzato.
I valori supportati sono 'none', 'antialiased', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric' , 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos', 'blackman'.
Se l' interpolazione è 'nessuna', non viene eseguita alcuna interpolazione sui backend Agg, ps, pdf e svg. Altri backend torneranno al "più vicino". Si noti che la maggior parte dei renderer SVG esegue l'interpolazione durante il rendering e che il metodo di interpolazione predefinito che implementano potrebbe essere diverso.
Se l' interpolazione è 'antialiased' predefinita, viene utilizzata l'interpolazione 'neest' se l'immagine è sovracampionata di più di un fattore tre (cioè il numero di pixel del display è almeno tre volte la dimensione dell'array di dati). Se la frequenza di sovracampionamento è inferiore a 3 o l'immagine è sottocampionata, viene utilizzata l'interpolazione "hanning" per agire come filtro anti-aliasing, a meno che l'immagine non venga sovracampionata esattamente di un fattore due o uno.
Vedere Interpolazioni per imshow per una panoramica dei metodi di interpolazione supportati e Antialiasing delle immagini per una discussione sull'antialiasing delle immagini.
Alcuni metodi di interpolazione richiedono un parametro radius aggiuntivo, che può essere impostato da filterrad . Inoltre, il filtro di ridimensionamento dell'immagine antigrain è controllato dal parametro filternorm .
- interpolation_stage {'dati', 'rgba'}, predefinito: 'dati'
Se 'dati', l'interpolazione viene effettuata sui dati forniti dall'utente. Se 'rgba', l'interpolazione viene eseguita dopo l'applicazione del colormapping (interpolazione visiva).
- alpha float o simile a un array, facoltativo
Il valore di fusione alfa, compreso tra 0 (trasparente) e 1 (opaco). Se alpha è un array, i valori di fusione alpha vengono applicati pixel per pixel e alpha deve avere la stessa forma di X .
- origin {'upper', 'lower'}, predefinito:
rcParams["image.origin"]
(predefinito:'upper'
) Posizionare l'indice [0, 0] dell'array nell'angolo in alto a sinistra o in basso a sinistra degli assi. La convenzione (predefinita) 'superiore' viene generalmente utilizzata per matrici e immagini.
Si noti che l'asse verticale punta verso l'alto per "inferiore" ma verso il basso per "superiore".
Vedere l' origine e l'estensione nel tutorial di imshow per esempi e una descrizione più dettagliata.
- extent float (sinistro, destro, basso, alto), facoltativo
Il riquadro di delimitazione nelle coordinate dei dati che l'immagine riempirà. L'immagine viene allungata individualmente lungo x e y per riempire il riquadro.
L'estensione predefinita è determinata dalle seguenti condizioni. I pixel hanno dimensioni unitarie nelle coordinate dei dati. I loro centri sono su coordinate intere e le loro coordinate centrali vanno da 0 a colonne-1 in orizzontale e da 0 a righe-1 in verticale.
Si noti che la direzione dell'asse verticale e quindi i valori predefiniti per top e bottom dipendono da origin :
Per l'impostazione predefinita è .
origin == 'upper'
(-0.5, numcols-0.5, numrows-0.5, -0.5)
Per l'impostazione predefinita è .
origin == 'lower'
(-0.5, numcols-0.5, -0.5, numrows-0.5)
Vedere l' origine e l'estensione nel tutorial di imshow per esempi e una descrizione più dettagliata.
- filternorm bool, predefinito: vero
Un parametro per il filtro di ridimensionamento dell'immagine antigrain (vedere la documentazione antigrain). Se filternorm è impostato, il filtro normalizza i valori interi e corregge gli errori di arrotondamento. Non fa nulla con i valori in virgola mobile di origine, corregge solo i numeri interi secondo la regola di 1.0, il che significa che qualsiasi somma dei pesi dei pixel deve essere uguale a 1.0. Quindi, la funzione filtro deve produrre un grafico della forma corretta.
- filterrad float > 0, predefinito: 4.0
Il raggio del filtro per i filtri che hanno un parametro raggio, cioè quando l'interpolazione è uno di: 'sinc', 'lanczos' o 'blackman'.
- resample bool, predefinito:
rcParams["image.resample"]
(predefinito:True
) Quando True , utilizza un metodo di ricampionamento completo. Quando False , ricampiona solo quando l'immagine di output è più grande dell'immagine di input.
- URL str, facoltativo
Imposta l'URL del file
AxesImage
. VediArtist.set_url
.
- Resi :
- Altri parametri :
Guarda anche
matshow
Tracciare una matrice o un array come immagine.
Appunti
A meno che non venga utilizzata l' estensione , i centri dei pixel saranno posizionati su coordinate intere. In altre parole: l'origine coinciderà con il centro del pixel (0, 0).
Esistono due rappresentazioni comuni per le immagini RGB con un canale alfa:
Alfa lineare (non associato): i canali R, G e B rappresentano il colore del pixel, ignorandone l'opacità.
Alfa premoltiplicato (associato): i canali R, G e B rappresentano il colore del pixel, regolato per la sua opacità mediante moltiplicazione.
imshow
si aspetta che le immagini RGB adottino la rappresentazione alfa diretta (non associata).
Esempi che utilizzano matplotlib.pyplot.imshow
#
Spaziature e margini delle sottotrame