matplotlib.axes.Axes.imshow #
- Assi. 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.axes.Axes.imshow
#
Regolazione interattiva dell'intervallo della mappa dei colori
Creazione di mappe di calore annotate
Ritaglio di immagini con patch
Unisci la trasparenza al colore nelle immagini 2D
Modifica del formattatore di coordinate
Aspetto della scatola degli assi
Ingrandisci gli assi interni della regione
Utilizzo di un testo come percorso
Creazione di una mappa di colori da un elenco di colori
Aggiunta di una barra dei colori agli assi interni
Barra dei colori con AxesDivider
Controllo della posizione e delle dimensioni delle barre dei colori con Inset Axes
Rendering ombreggiato e potenza normalizzata
Immagine animata utilizzando un elenco precalcolato di immagini
Visualizzatore sezioni immagine
Etichettatura del segno di spunta della barra dei colori
Scelta delle mappe dei colori in Matplotlib