matplotlib.axes.Axes.imshow#

Axes.imshow(X, cmap=None, norm=None, *, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, interpolation_stage=None, filternorm=True, filterrad=4.0, resample=None, url=None, data=None, **kwargs)[源代码][源代码]#

将数据显示为图像,即在二维规则栅格上。

输入可以是实际的 RGB(A) 数据,或者是二维标量数据,这些数据将被渲染为伪彩色图像。要显示灰度图像,请使用参数 cmap='gray', vmin=0, vmax=255 设置颜色映射。

渲染图像所使用的像素数量由 Axes 的大小和图形的 dpi 设置。当图像被重新采样时,这可能导致走样伪影,因为显示的图像大小通常不会与 X 的大小匹配(参见 图像重采样)。可以通过 interpolation 参数和/或 rcParams["image.interpolation"] (default: 'auto') 来控制重新采样。

参数:
X类数组或 PIL 图像

图像数据。支持的数组形状包括:

  • (M, N): 一张带有标量数据的图像。数值通过归一化和颜色映射进行颜色映射。参见参数 normcmapvminvmax

  • (M, N, 3): 一张带有RGB值(0-1浮点数或0-255整数)的图像。

  • (M, N, 4): 一张包含RGBA值(0-1浮点数或0-255整数)的图像,即包括透明度。

前两个维度 (M, N) 定义了图像的行和列。

超出范围的 RGB(A) 值将被裁剪。

cmap : str 或 Colormap, 默认值: rcParams["image.cmap"] (default: 'viridis')str 或

用于将标量数据映射为颜色的 Colormap 实例或已注册的 colormap 名称。

如果 X 是 RGB(A),则忽略此参数。

norm : str 或 Normalize,可选str 或

在将标量数据映射到颜色之前,用于将标量数据缩放到 [0, 1] 范围的归一化方法。默认情况下,使用线性缩放,将最低值映射到 0,最高值映射到 1。

如果提供,这可以是以下之一:

如果 X 是 RGB(A),则忽略此参数。

vmin, vmax浮点数, 可选

在使用标量数据且未明确指定 norm 时,vminvmax 定义了颜色映射覆盖的数据范围。默认情况下,颜色映射覆盖所提供数据的完整值范围。当给定 norm 实例时,使用 vmin/vmax 是错误的(但使用 str norm 名称与 vmin/vmax 一起是可接受的)。

如果 X 是 RGB(A),则忽略此参数。

方面{'equal', 'auto'} 或浮点数或 None, 默认: None

Axes 的纵横比。这个参数对于图像特别相关,因为它决定了数据像素是否为方形。

此参数是显式调用 Axes.set_aspect 的快捷方式。更多详情请参见那里。

  • 'equal': 确保纵横比为1。像素将是正方形(除非使用 extent 在数据坐标中明确地将像素大小设置为非正方形)。

  • 'auto': 保持Axes固定,并调整纵横比以使数据适合Axes。通常,这将导致非方形像素。

通常,None(默认值)表示使用 rcParams["image.aspect"] (default: 'equal')。 然而,如果图像使用了一个不包含轴数据变换的变换,那么None意味着完全不修改轴的纵横比(在这种情况下,如果需要,直接调用 Axes.set_aspect)。

插值 : str, 默认值: rcParams["image.interpolation"] (default: 'auto')str, 默认值:

所使用的插值方法。

支持的值有 'none', 'auto', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos', 'blackman'。

数据 X 被重采样到图像画布上的像素大小,使用插值方法对数据进行上采样或下采样。

如果 插值 是 'none',那么对于 ps、pdf 和 svg 后端,不会进行降采样或升采样,图像数据将作为原生图像传递给后端。请注意,不同的 ps、pdf 和 svg 查看器可能会以不同的方式显示这些原始像素。在其他后端,'none' 等同于 'nearest'。

如果 插值 是默认的 'auto',那么如果图像被放大超过三倍(即显示像素的数量至少是数据数组大小的三倍),则使用 'nearest' 插值。如果放大率小于3,或者图像被缩小,则使用 'hanning' 插值作为抗锯齿滤波器,除非图像恰好被放大了正好两倍或一倍。

有关支持的插值方法的概述,请参阅 imshow 的插值,关于图像抗锯齿的讨论,请参阅 图像重采样

一些插值方法需要一个额外的半径参数,可以通过 filterrad 设置。此外,antigrain 图像缩放滤镜由参数 filternorm 控制。

插值阶段{'auto', 'data', 'rgba'}, 默认值: 'auto'

支持的值:

  • 'data': 插值是在用户提供的数据上进行的。这在放大过程中在像素之间进行插值时非常有用。

  • 'rgba': 插值在颜色映射应用后在 RGBA 空间中进行。这在视觉上对像素进行下采样和合并时很有用。

  • 'auto': 自动选择合适的插值阶段。在下采样时,或在以小于3的比率上采样时使用'rgba',在上采样以更高比率时使用'data'。

关于图像抗锯齿的讨论,请参见 图像重采样

alpha浮点数或类似数组的对象,可选

阿尔法混合值,介于 0(透明)和 1(不透明)之间。如果 alpha 是一个数组,阿尔法混合值将逐像素应用,并且 alpha 必须与 X 具有相同的形状。

origin : {'upper', 'lower'}, 默认值: rcParams["image.origin"] (default: 'upper'){'upper', 'lower'}, 默认:

将数组的 [0, 0] 索引放在 Axes 的左上角或左下角。约定(默认)'upper' 通常用于矩阵和图像。

请注意,垂直轴对于'lower'是向上指向的,而对于'upper'是向下指向的。

有关示例和更详细的描述,请参阅 origin 和 extent 在 imshow 中 教程。

范围浮动(左、右、下、上),可选

图像将填充的数据坐标中的边界框。这些值可能是有单位的,并且与Axes的单位匹配。图像在x和y方向上分别拉伸以填充该框。

默认范围由以下条件决定。像素在数据坐标中具有单位大小。它们的中心位于整数坐标上,并且它们的中心坐标水平范围从0到列数-1,垂直范围从0到行数-1。

请注意,垂直轴的方向,因此顶部和底部的默认值取决于 origin

  • 对于 origin == 'upper' ,默认值是 (-0.5, numcols-0.5, numrows-0.5, -0.5)

  • 对于 origin == 'lower' ,默认值是 (-0.5, numcols-0.5, -0.5, numrows-0.5)

有关示例和更详细的描述,请参阅 origin 和 extent 在 imshow 中 教程。

filternormbool, 默认值: True

antigrain 图像缩放过滤器的参数(参见 antigrain 文档)。如果设置了 filternorm,过滤器会规范化整数值并修正舍入误差。它不会对源浮点值做任何处理,只会根据 1.0 的规则修正整数,这意味着任何像素权重的总和必须等于 1.0。因此,过滤器函数必须生成适当形状的图。

filterradfloat > 0, 默认值: 4.0

对于具有半径参数的滤波器,即当插值是以下之一时:'sinc'、'lanczos' 或 'blackman',滤波器半径。

resample : bool, 默认值: rcParams["image.resample"] (default: True)布尔值,默认:

True 时,使用完全重采样方法。当 False 时,仅在输出图像大于输入图像时进行重采样。

网址str, 可选

设置创建的 AxesImage 的 URL。参见 Artist.set_url

返回:
AxesImage
其他参数:
数据可索引对象,可选

如果提供,所有参数也接受一个字符串 s,如果 sdata 中的一个键,则解释为 data[s]

**kwargs : Artist 属性艺术家属性

这些参数被传递给 AxesImage 艺术家的构造函数。

参见

matshow

将矩阵或数组绘制为图像。

注释

除非使用 extent ,像素中心将位于整数坐标上。换句话说:原点将与像素 (0, 0) 的中心重合。

对于带有alpha通道的RGB图像,有两种常见的表示方式:

  • 直接(未关联)的alpha:R、G和B通道表示像素的颜色,忽略其不透明度。

  • 预乘(关联)alpha:R、G 和 B 通道表示像素的颜色,通过乘法调整其不透明度。

imshow 期望采用直通(未关联)alpha表示的RGB图像。

使用 matplotlib.axes.Axes.imshow 的示例#

带渐变的条形图

Bar chart with gradients

图像的仿射变换

Affine transform of an image

条形码

Barcode

交互式调整色图范围

Interactive adjustment of colormap range

等高线演示

Contour Demo

等高线图像

Contour image

带注释的热图

Annotated heatmap

图像重采样

Image resampling

使用补丁裁剪图像

Clipping images with patches

多种绘制图像的方法

Many ways to plot images

带有掩码值的图像

Image with masked values

在2D图像中混合透明度和颜色

Blend transparency with color in 2D images

修改坐标格式化器

Modifying the coordinate formatter

imshow 的插值

Interpolations for imshow

使用 alpha 混合层叠图像

Layer images with alpha blending

使用 matshow 可视化矩阵

Visualize matrices with matshow

带有单个颜色条的多个图像

Multiple images with one colorbar

pcolor 图像

pcolor images

阴影示例

Shading example

坐标轴方框比例

Axes box aspect

缩放区域插入轴

Zoom region inset Axes

将文本用作路径

Using a text as a Path

颜色条

Colorbar

色图参考

Colormap reference

从颜色列表创建一个颜色映射

Create a colormap from a list of colors

锚定方向箭头

Anchored Direction Arrow

演示轴网格

Demo Axes Grid

坐标轴网格2

Axes Grid2

HBoxDivider 和 VBoxDivider 演示

HBoxDivider and VBoxDivider demo

带有 AxesDivider 的 Colorbar

Colorbar with AxesDivider

使用嵌入轴控制颜色条的位置和大小

Control the position and size of a colorbar with Inset Axes

插入定位器演示 2

Inset locator demo 2

简单的图像网格

Simple ImageGrid

简单的 ImageGrid 2

Simple ImageGrid 2

阴影与功率归一化渲染

Shaded & power normalized rendering

pyplot 动画

pyplot animation

使用预计算的图像列表的动画图像

Animated image using a precomputed list of images

滚动事件

Scroll event

选择事件演示

Pick event demo

视图限制

Viewlims

路径效果演示

Patheffect Demo

地形山体阴影

Topographic hillshading

颜色条刻度标签

Colorbar Tick Labelling

imshow(Z)

imshow(Z)

约束布局指南

Constrained layout guide

紧凑布局指南

Tight layout guide

在 Matplotlib 中创建 Colormap

Creating Colormaps in Matplotlib

在 Matplotlib 中选择颜色表

Choosing Colormaps in Matplotlib