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): 一张带有标量数据的图像。数值通过归一化和颜色映射进行颜色映射。参见参数 norm、cmap、vmin、vmax。
(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。
如果提供,这可以是以下之一:
一个刻度名称,即“linear”、“log”、“symlog”、“logit”等之一。要获取可用刻度列表,请调用
matplotlib.scale.get_scale_names()。在这种情况下,会动态生成并实例化一个合适的Normalize子类。
如果 X 是 RGB(A),则忽略此参数。
- vmin, vmax浮点数, 可选
在使用标量数据且未明确指定 norm 时,vmin 和 vmax 定义了颜色映射覆盖的数据范围。默认情况下,颜色映射覆盖所提供数据的完整值范围。当给定 norm 实例时,使用 vmin/vmax 是错误的(但使用
strnorm 名称与 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。
- 返回:
- 其他参数:
参见
matshow将矩阵或数组绘制为图像。
注释
除非使用 extent ,像素中心将位于整数坐标上。换句话说:原点将与像素 (0, 0) 的中心重合。
对于带有alpha通道的RGB图像,有两种常见的表示方式:
直接(未关联)的alpha:R、G和B通道表示像素的颜色,忽略其不透明度。
预乘(关联)alpha:R、G 和 B 通道表示像素的颜色,通过乘法调整其不透明度。
imshow期望采用直通(未关联)alpha表示的RGB图像。