matplotlib.axes.Axes.imshow #
- Haches. imshow ( X , cmap = Aucun , norm = Aucun , * , aspect = Aucun , interpolation = Aucun , alpha = Aucun , vmin = Aucun , vmax = Aucun , origin = Aucun , extent = Aucun , interpolation_stage = Aucun , filternorm = Vrai ,filterrad = 4.0 , resample = None , url = None , data = None , ** kwargs ) [source] #
Affichez les données sous forme d'image, c'est-à-dire sur un raster régulier 2D.
L'entrée peut être soit des données RVB(A) réelles, soit des données scalaires 2D, qui seront rendues sous forme d'image pseudo-couleur. Pour afficher une image en niveaux de gris, configurez la palette de couleurs à l'aide des paramètres .
cmap='gray', vmin=0, vmax=255
Le nombre de pixels utilisés pour rendre une image est défini par la taille des axes et le dpi de la figure. Cela peut entraîner des artefacts de crénelage lorsque l'image est rééchantillonnée, car la taille de l'image affichée ne correspond généralement pas à la taille de X (voir Anticrénelage d'image ). Le rééchantillonnage peut être contrôlé via le paramètre d' interpolation et/ou
rcParams["image.interpolation"]
(par défaut :'antialiased'
).- Paramètres :
- Image de type tableau X ou PIL
Les données d'images. Les formes de tableau prises en charge sont :
(M, N) : une image avec des données scalaires. Les valeurs sont mappées aux couleurs à l'aide de la normalisation et d'une palette de couleurs. Voir paramètres norm , cmap , vmin , vmax .
(M, N, 3) : une image avec des valeurs RVB (0-1 float ou 0-255 int).
(M, N, 4) : une image avec des valeurs RGBA (0-1 float ou 0-255 int), c'est-à-dire incluant la transparence.
Les deux premières dimensions (M, N) définissent les lignes et les colonnes de l'image.
Les valeurs RVB(A) hors plage sont écrêtées.
- cmap str ou
Colormap
, par défaut :rcParams["image.cmap"]
(par défaut :'viridis'
) L'instance Colormap ou le nom de la palette de couleurs enregistrée utilisée pour mapper les données scalaires aux couleurs.
Ce paramètre est ignoré si X est RVB(A).
- norm str ou
Normalize
, facultatif La méthode de normalisation utilisée pour mettre à l'échelle les données scalaires dans la plage [0, 1] avant le mappage aux couleurs à l'aide de cmap . Par défaut, une mise à l'échelle linéaire est utilisée, mappant la valeur la plus basse à 0 et la plus élevée à 1.
S'il est donné, il peut s'agir de l'un des éléments suivants :
Une instance de
Normalize
ou une de ses sous-classes (voir Colormap Normalization ).Un nom d'échelle, c'est-à-dire "linéaire", "log", "symlog", "logit", etc. Pour une liste des échelles disponibles, appelez
matplotlib.scale.get_scale_names()
. Dans ce cas, une sous-classe appropriéeNormalize
est générée et instanciée dynamiquement.
Ce paramètre est ignoré si X est RVB(A).
- vmin, flotteur vmax, facultatif
Lorsque vous utilisez des données scalaires et aucune norme explicite , vmin et vmax définissent la plage de données couverte par la palette de couleurs. Par défaut, la palette de couleurs couvre toute la plage de valeurs des données fournies. C'est une erreur d'utiliser vmin / vmax lorsqu'une instance de norme est donnée (mais l'utilisation d'un nom de norme avec vmin / vmax est acceptable).
str
Ce paramètre est ignoré si X est RVB(A).
- aspect {'equal', 'auto'} ou float, par défaut :
rcParams["image.aspect"]
(par défaut :'equal'
) Le rapport hauteur/largeur des Axes. Ce paramètre est particulièrement pertinent pour les images car il détermine si les pixels de données sont carrés.
Ce paramètre est un raccourci pour appeler explicitement
Axes.set_aspect
. Voir là pour plus de détails.'equal' : garantit un rapport d'aspect de 1. Les pixels seront carrés (à moins que les tailles de pixel ne soient explicitement rendues non carrées dans les coordonnées de données à l'aide de extent ).
'auto' : les axes sont maintenus fixes et l'aspect est ajusté de manière à ce que les données tiennent dans les axes. En général, cela se traduira par des pixels non carrés.
- chaîne d' interpolation , par défaut :
rcParams["image.interpolation"]
(par défaut :'antialiased'
) La méthode d'interpolation utilisée.
Les valeurs prises en charge sont 'none', 'antialiased', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric' , 'catrom', 'gaussien', 'bessel', 'mitchell', 'sinc', 'lanczos', 'blackman'.
Si l' interpolation est "aucune", alors aucune interpolation n'est effectuée sur les backends Agg, ps, pdf et svg. Les autres backends reviendront au "plus proche". Notez que la plupart des moteurs de rendu SVG effectuent une interpolation lors du rendu et que la méthode d'interpolation par défaut qu'ils implémentent peut différer.
Si l' interpolation est "anticrénelée" par défaut, alors l'interpolation "la plus proche" est utilisée si l'image est suréchantillonnée par plus d'un facteur de trois (c'est-à-dire que le nombre de pixels d'affichage est au moins trois fois supérieur à la taille du tableau de données). Si le taux de suréchantillonnage est inférieur à 3, ou si l'image est sous-échantillonnée, l'interpolation "hanning" est utilisée pour agir comme un filtre anti-crénelage, à moins que l'image ne soit suréchantillonnée exactement d'un facteur deux ou un.
Voir Interpolations pour imshow pour un aperçu des méthodes d'interpolation prises en charge et Anticrénelage d' image pour une discussion sur l'anticrénelage d'image.
Certaines méthodes d'interpolation nécessitent un paramètre de rayon supplémentaire, qui peut être défini par filterrad . De plus, le filtre de redimensionnement d'image anti-grain est contrôlé par le paramètre filternorm .
- interpolation_stage {'data', 'rgba'}, par défaut : 'data'
Si 'data', une interpolation est effectuée sur les données fournies par l'utilisateur. Si 'rgba', l'interpolation est effectuée après l'application du colormapping (interpolation visuelle).
- flottant alpha ou semblable à un tableau, facultatif
La valeur de fusion alpha, entre 0 (transparent) et 1 (opaque). Si alpha est un tableau, les valeurs de fusion alpha sont appliquées pixel par pixel, et alpha doit avoir la même forme que X .
- origin {'supérieur', 'inférieur'}, par défaut :
rcParams["image.origin"]
(par défaut :'upper'
) Placez l'index [0, 0] du tableau dans le coin supérieur gauche ou inférieur gauche des Axes. La convention (la valeur par défaut) 'upper' est généralement utilisée pour les matrices et les images.
Notez que l'axe vertical pointe vers le haut pour 'inférieur' mais vers le bas pour 'supérieur'.
Voir l' origine et l'étendue dans le tutoriel imshow pour des exemples et une description plus détaillée.
- flottants d' étendue (gauche, droite, bas, haut), facultatif
La boîte englobante dans les coordonnées de données que l'image remplira. L'image est étirée individuellement le long de x et y pour remplir la boîte.
L'étendue par défaut est déterminée par les conditions suivantes. Les pixels ont une taille unitaire en coordonnées de données. Leurs centres sont sur des coordonnées entières et leurs coordonnées centrales vont de 0 à colonnes-1 horizontalement et de 0 à lignes-1 verticalement.
Notez que la direction de l'axe vertical et donc les valeurs par défaut pour le haut et le bas dépendent de l' origine :
Car la valeur par défaut est .
origin == 'upper'
(-0.5, numcols-0.5, numrows-0.5, -0.5)
Car la valeur par défaut est .
origin == 'lower'
(-0.5, numcols-0.5, -0.5, numrows-0.5)
Voir l' origine et l'étendue dans le tutoriel imshow pour des exemples et une description plus détaillée.
- filternorm booléen , par défaut : True
Un paramètre pour le filtre de redimensionnement d'image antigrain (voir la documentation antigrain). Si filternorm est défini, le filtre normalise les valeurs entières et corrige les erreurs d'arrondi. Il ne fait rien avec les valeurs à virgule flottante source, il corrige uniquement les entiers selon la règle de 1.0 qui signifie que toute somme de poids de pixel doit être égale à 1.0. Ainsi, la fonction de filtre doit produire un graphique de la forme appropriée.
- flotteur de filtre > 0, par défaut : 4.0
Le rayon du filtre pour les filtres qui ont un paramètre de rayon, c'est-à-dire lorsque l'interpolation est l'une des suivantes : 'sinc', 'lanczos' ou 'blackman'.
- resample bool, par défaut :
rcParams["image.resample"]
(par défaut :True
) Lorsque True , utilise une méthode de rééchantillonnage complet. Lorsque False , rééchantillonne uniquement lorsque l'image de sortie est plus grande que l'image d'entrée.
- url str, facultatif
Définissez l'URL du fichier
AxesImage
. VoirArtist.set_url
.
- Retours :
- Autres paramètres :
Voir également
matshow
Tracez une matrice ou un tableau sous forme d'image.
Remarques
À moins que l' étendue ne soit utilisée, les centres des pixels seront situés à des coordonnées entières. Autrement dit : l'origine coïncidera avec le centre du pixel (0, 0).
Il existe deux représentations courantes pour les images RVB avec un canal alpha :
Alpha droit (non associé) : les canaux R, G et B représentent la couleur du pixel, sans tenir compte de son opacité.
Alpha prémultiplié (associé) : les canaux R, G et B représentent la couleur du pixel, ajustée pour son opacité par multiplication.
imshow
attend des images RVB adoptant la représentation alpha droite (non associée).
Exemples utilisant matplotlib.axes.Axes.imshow
#
Graphique à barres avec dégradés
Ajustement interactif de la gamme de couleurs
Création de cartes de chaleur annotées
Couper des images avec des patchs
Mélangez la transparence avec la couleur dans les images 2D
Modification du formateur de coordonnées
Axes d'incrustation de région de zoom
Utiliser un texte comme chemin
Création d'une palette de couleurs à partir d'une liste de couleurs
Ajout d'une barre de couleurs aux axes d'encart
Barre de couleurs avec AxesDivider
Contrôle de la position et de la taille des barres de couleur avec les axes d'encart
Démonstration du localisateur d'encart2
Rendu ombré et puissance normalisée
Image animée à l'aide d'une liste d'images précalculée
Visionneuse de tranches d'image
Choisissez la démo de l'événement
Étiquetage des tiques de la barre de couleurs
Guide de mise en page contrainte
Choisir des cartes de couleurs dans Matplotlib