matplotlib.axes.Axes.imshow#

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

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

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

用于渲染图像的像素数量由 Axes 的大小和图形的 dpi 决定。这可能导致图像重采样时出现锯齿伪影,因为显示的图像大小通常与 X 的大小不匹配(参见图像重采样)。重采样可以通过 interpolation 参数和/或 rcParams["image.interpolation"](默认值:'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) 值将被裁剪。

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

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

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

normstr 或 Normalize,可选

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

如果给定,可以是以下之一

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

vmin, vmax浮点型,可选

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

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

colorizerColorizer 或 None,默认值:None

用于将颜色映射到数据的 Colorizer 对象。如果为 None,则从 normcmap 创建一个 Colorizer 对象。

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

aspect{'equal', 'auto'} 或 float 或 None,默认值:None

Axes 的纵横比。此参数对于图像尤为重要,因为它决定了数据像素是否为正方形。

此参数是显式调用 Axes.set_aspect 的快捷方式。更多详细信息请参见该处。

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

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

通常,None(默认值)表示使用 rcParams["image.aspect"](默认值:'equal')。但是,如果图像使用的转换不包含坐标轴数据转换,则 None 表示根本不修改坐标轴纵横比(在这种情况下,如果需要,直接调用 Axes.set_aspect)。

interpolationstr,默认值:rcParams["image.interpolation"](默认值:'auto'

使用的插值方法。

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

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

如果 interpolation 为 'none',则对于 ps、pdf 和 svg 后端,不会发生下采样或上采样,图像数据将作为原生图像传递给后端。请注意,不同的 ps、pdf 和 svg 查看器可能会以不同方式显示这些原始像素。在其他后端上,'none' 与 'nearest' 相同。

如果 interpolation 为默认值 'auto',则当图像被上采样超过三倍(即显示像素数至少是数据数组大小的三倍)时,使用 'nearest' 插值。如果上采样率小于 3,或图像被下采样,则使用 'hanning' 插值作为抗锯齿滤波器,除非图像恰好被精确上采样两倍或一倍。

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

某些插值方法需要额外的半径参数,该参数可以通过 filterrad 设置。此外,antigrain 图像调整大小过滤器由参数 filternorm 控制。

interpolation_stage{'auto', 'data', 'rgba'},默认值:'auto'

支持的值

  • 'data':插值在用户提供的数据上进行。这在向上采样时在像素之间进行插值时很有用。

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

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

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

alpha浮点数或类数组,可选

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

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

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

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

有关示例和更详细的描述,请参见 imshow 中的原点和范围 教程。

extent浮点数 (left, right, bottom, top),可选

图像将填充的数据坐标中的边界框。这些值可以带单位,并与 Axes 的单位匹配。图像沿 x 和 y 方向单独拉伸以填充该框。

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

请注意,垂直轴的方向以及因此 top 和 bottom 的默认值取决于 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)

有关示例和更详细的描述,请参见 imshow 中的原点和范围 教程。

filternormbool,默认值:True

antigrain 图像大小调整过滤器的一个参数(参见 antigrain 文档)。如果设置了 filternorm,过滤器将归一化整数值并纠正舍入误差。它不处理源浮点值,它仅根据 1.0 规则纠正整数,这意味着任何像素权重的总和必须等于 1.0。因此,过滤器函数必须生成适当形状的图形。

filterrad浮点数 > 0,默认值:4.0

具有半径参数的过滤器的过滤半径,即当插值为以下之一时:“sinc”、“lanczos”或“blackman”。

resamplebool,默认值:rcParams["image.resample"](默认值:True

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

urlstr,可选

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

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

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

**kwargsArtist 属性

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

另请参阅

matshow

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

备注

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

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

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

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

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

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

pyplot 动画

pyplot 动画

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

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

定位方向箭头

定位方向箭头

坐标轴网格演示

坐标轴网格演示

坐标轴网格2

坐标轴网格2

HBoxDivider 和 VBoxDivider 演示

HBoxDivider 和 VBoxDivider 演示

带 AxesDivider 的颜色条

带 AxesDivider 的颜色条

使用插入坐标轴控制颜色条的位置和大小

使用插入坐标轴控制颜色条的位置和大小

插入定位器演示 2

插入定位器演示 2

简单图像网格

简单图像网格

简单图像网格 2

简单图像网格 2

颜色条

颜色条

色彩映射参考

色彩映射参考

从颜色列表创建色彩映射

从颜色列表创建色彩映射

滚动事件

滚动事件

选择事件演示

选择事件演示

视图限制

视图限制

图像的仿射变换

图像的仿射变换

条形码

条形码

色彩映射范围的交互式调整

色彩映射范围的交互式调整

等高线演示

等高线演示

等高线图像

等高线图像

带注释的热力图

带注释的热力图

图像重采样

图像重采样

用补丁裁剪图像

用补丁裁剪图像

绘制图像的多种方式

绘制图像的多种方式

带掩码值的图像

带掩码值的图像

在二维图像中将透明度与颜色混合

在二维图像中将透明度与颜色混合

修改坐标格式化程序

修改坐标格式化程序

imshow 的插值

imshow 的插值

使用 Alpha 混合分层图像

使用 Alpha 混合分层图像

用 matshow 可视化矩阵

用 matshow 可视化矩阵

多个图像带一个颜色条

多个图像带一个颜色条

pcolor 图像

pcolor 图像

着色示例

着色示例

带渐变的条形图

带渐变的条形图

路径效果演示

路径效果演示

着色和功率归一化渲染

着色和功率归一化渲染

地形山体阴影

地形山体阴影

坐标轴框纵横比

坐标轴框纵横比

缩放区域插入坐标轴

缩放区域插入坐标轴

将文本用作路径

将文本用作路径

颜色条刻度标签

颜色条刻度标签

imshow(Z)

imshow(Z)

约束布局指南

约束布局指南

紧凑布局指南

紧凑布局指南

在 Matplotlib 中创建颜色映射

在 Matplotlib 中创建颜色映射

在 Matplotlib 中选择颜色映射

在 Matplotlib 中选择颜色映射