matplotlib.image#

image 模块支持基本的图像加载、重采样和显示操作。

class matplotlib.image.AxesImage(ax, *, cmap=None, norm=None, colorizer=None, interpolation=None, origin=None, extent=None, filternorm=True, filterrad=4.0, resample=False, interpolation_stage=None, **kwargs)[source]#

基类:_ImageBase

一种具有常规网格像素的图像,附加在 Axes 上。

参数:
axAxes

图像所属的坐标轴 (Axes)。

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

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

normstr 或 Normalize

将亮度映射到 0-1 范围。

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

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

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

如果是 'data',则在用户提供的数据上执行插值。如果是 'rgba',则在应用颜色映射后执行插值(视觉插值)。

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

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

extenttuple,可选

用于使图像图与数据图对齐的数据坐标轴 (left, right, bottom, top)。默认是将像素中心标记为从零开始的行和列索引。

filternormbool,默认值:True

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

filterradfloat > 0,默认值:4

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

resamplebool,默认值:False

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

**kwargsArtist 属性
参数:
colorizercolorizer.Colorizer
get_cursor_data(event)[source]#

返回事件位置处的图像值,如果事件在图像外部则返回 None。

get_extent()[source]#

返回以 tuple (left, right, bottom, top) 表示的图像范围。

get_window_extent(renderer=None)[source]#

获取美工对象在显示空间中的边界框,忽略裁剪。

边界框的宽度和高度非负。

子类应覆盖此方法,以便将其包含在边界框“紧密”计算中。默认返回一个位于 0, 0 的空边界框。

警告

范围可能会由于变换栈的任何更改而改变,例如更改坐标轴限制、图形大小、使用的画布(保存图形时)或 DPI。

依赖于一次性获取的窗口范围可能会在某些情况下导致意外行为,例如交互式图形被调整大小或移动到具有不同 DPI 的屏幕,或者在屏幕上看起来没问题的图形在保存到文件时渲染不正确。

为了获得准确的结果,您可能需要手动调用 savefig 或 draw_without_rendering,让 Matplotlib 计算渲染大小。

参数:
rendererRendererBase, 可选

用于绘制图形的渲染器(即 fig.canvas.get_renderer())。

另请参阅

Artist.get_tightbbox

获取美工边界框,考虑裁剪。

make_image(renderer, magnification=1.0, unsampled=False)[source]#

使用指定的 renderer 和 magnification 对此图像数据进行归一化、重采样并应用颜色映射以进行渲染。

如果 unsampled 为 True,图像将不会被缩放,而是返回适当的仿射变换。

返回:
image(M, N, 4) numpy.uint8 数组

RGBA 图像,除非 unsampled 为 True,否则会被重采样。

x, yfloat

应该绘制图像的左上角,位于像素空间中。

transAffine2D

从图像到像素空间的仿射变换。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, array=<UNSET>, clim=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, cmap=<UNSET>, data=<UNSET>, extent=<UNSET>, filternorm=<UNSET>, filterrad=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, interpolation=<UNSET>, interpolation_stage=<UNSET>, label=<UNSET>, mouseover=<UNSET>, norm=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, resample=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量

alpha

float 或 2D 数组类或 None

animated

布尔值

array

类数组

clim

(vmin: 浮点数, vmax: 浮点数)

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

cmap

Colormap 或 str 或 None

data

数组类或 PIL.Image.Image

extent

4-tuple of float

figure

Figure 或 SubFigure

filternorm

布尔值

filterrad

正浮点数

gid

str

in_layout

布尔值

interpolation

{'auto', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos', 'none'} 或 None

interpolation_stage

{'data', 'rgba', 'auto'},默认值:rcParams["image.interpolation_stage"](默认值:'auto')

label

object

mouseover

布尔值

norm

Normalize 或 str 或 None

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

resample

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

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

zorder

浮点数

set_extent(extent, **kwargs)[source]#

设置图像范围。

参数:
extent4-tuple of float

以数据坐标表示的图像位置和大小,形式为元组 (left, right, bottom, top)。

**kwargs

其他参数,如果存在,将应用单位信息(即 xunits, yunits, zunits(用于 3D Axes), runits 和 thetaunits(用于极坐标 Axes)条目)。

备注

这会更新 Axes.dataLim,并且如果在进行自动缩放,它会将 Axes.viewLim 设置为紧密贴合图像,而无需考虑 dataLim。自动缩放状态不会改变,因此随后调用 Axes.autoscale_view 将根据 dataLim 重新执行自动缩放。

class matplotlib.image.BboxImage(bbox, *, cmap=None, norm=None, colorizer=None, interpolation=None, origin=None, filternorm=True, filterrad=4.0, resample=False, **kwargs)[source]#

基类:_ImageBase

大小由给定 bbox 确定的图像类。

参数:
bboxBboxBase 或 Callable[RendererBase, BboxBase]

bbox 或生成 bbox 的函数

警告

如果将 matplotlib.artist.Artist.get_window_extent 用作可调用对象,请确保首先绘制另一个艺术家(较低的 zorder),否则您可能需要渲染两次图形以确保计算出的 bbox 是准确的。

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

用于将标量数据映射到颜色的 Colormap 实例或已注册的颜色映射名称。如果 X 是 RGB(A),则忽略此参数。

normstr 或 Normalize

将亮度映射到 0-1 范围。如果 X 是 RGB(A),则忽略此参数。

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

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

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

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

filternormbool,默认值:True

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

filterradfloat > 0,默认值:4

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

resamplebool,默认值:False

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

**kwargsArtist 属性
参数:
colorizercolorizer.Colorizer
contains(mouseevent)[source]#

测试鼠标事件是否发生在图像内。

get_window_extent(renderer=None)[source]#

获取美工对象在显示空间中的边界框,忽略裁剪。

边界框的宽度和高度非负。

子类应覆盖此方法,以便将其包含在边界框“紧密”计算中。默认返回一个位于 0, 0 的空边界框。

警告

范围可能会由于变换栈的任何更改而改变,例如更改坐标轴限制、图形大小、使用的画布(保存图形时)或 DPI。

依赖于一次性获取的窗口范围可能会在某些情况下导致意外行为,例如交互式图形被调整大小或移动到具有不同 DPI 的屏幕,或者在屏幕上看起来没问题的图形在保存到文件时渲染不正确。

为了获得准确的结果,您可能需要手动调用 savefig 或 draw_without_rendering,让 Matplotlib 计算渲染大小。

参数:
rendererRendererBase, 可选

用于绘制图形的渲染器(即 fig.canvas.get_renderer())。

另请参阅

Artist.get_tightbbox

获取美工边界框,考虑裁剪。

make_image(renderer, magnification=1.0, unsampled=False)[source]#

使用指定的 renderer 和 magnification 对此图像数据进行归一化、重采样并应用颜色映射以进行渲染。

如果 unsampled 为 True,图像将不会被缩放,而是返回适当的仿射变换。

返回:
image(M, N, 4) numpy.uint8 数组

RGBA 图像,除非 unsampled 为 True,否则会被重采样。

x, yfloat

应该绘制图像的左上角,位于像素空间中。

transAffine2D

从图像到像素空间的仿射变换。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, array=<UNSET>, clim=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, cmap=<UNSET>, data=<UNSET>, filternorm=<UNSET>, filterrad=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, interpolation=<UNSET>, interpolation_stage=<UNSET>, label=<UNSET>, mouseover=<UNSET>, norm=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, resample=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量

alpha

float 或 2D 数组类或 None

animated

布尔值

array

类数组

clim

(vmin: 浮点数, vmax: 浮点数)

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

cmap

Colormap 或 str 或 None

data

数组类或 PIL.Image.Image

figure

Figure 或 SubFigure

filternorm

布尔值

filterrad

正浮点数

gid

str

in_layout

布尔值

interpolation

{'auto', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos', 'none'} 或 None

interpolation_stage

{'data', 'rgba', 'auto'},默认值:rcParams["image.interpolation_stage"](默认值:'auto')

label

object

mouseover

布尔值

norm

Normalize 或 str 或 None

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

resample

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

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

zorder

浮点数

class matplotlib.image.FigureImage(fig, *, cmap=None, norm=None, colorizer=None, offsetx=0, offsety=0, origin=None, **kwargs)[source]#

基类:_ImageBase

附加到图形 (Figure) 上的图像。

cmap 是一个 colors.Colormap 实例,norm 是一个 colors.Normalize 实例,用于将亮度映射到 0-1 范围。

kwargs 是 Artist 关键字参数的可选列表。

get_extent()[source]#

返回以 tuple (left, right, bottom, top) 表示的图像范围。

make_image(renderer, magnification=1.0, unsampled=False)[source]#

使用指定的 renderer 和 magnification 对此图像数据进行归一化、重采样并应用颜色映射以进行渲染。

如果 unsampled 为 True,图像将不会被缩放,而是返回适当的仿射变换。

返回:
image(M, N, 4) numpy.uint8 数组

RGBA 图像,除非 unsampled 为 True,否则会被重采样。

x, yfloat

应该绘制图像的左上角,位于像素空间中。

transAffine2D

从图像到像素空间的仿射变换。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, array=<UNSET>, clim=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, cmap=<UNSET>, data=<UNSET>, filternorm=<UNSET>, filterrad=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, interpolation=<UNSET>, interpolation_stage=<UNSET>, label=<UNSET>, mouseover=<UNSET>, norm=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, resample=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量

alpha

float 或 2D 数组类或 None

animated

布尔值

array

类数组

clim

(vmin: 浮点数, vmax: 浮点数)

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

cmap

Colormap 或 str 或 None

data

未知

figure

Figure 或 SubFigure

filternorm

布尔值

filterrad

正浮点数

gid

str

in_layout

布尔值

interpolation

{'auto', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos', 'none'} 或 None

interpolation_stage

{'data', 'rgba', 'auto'},默认值:rcParams["image.interpolation_stage"](默认值:'auto')

label

object

mouseover

布尔值

norm

Normalize 或 str 或 None

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

resample

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

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

zorder

浮点数

set_data(A)[source]#

设置图像数组。

zorder = 0#
class matplotlib.image.NonUniformImage(ax, *, interpolation='nearest', **kwargs)[source]#

基类:AxesImage

一种像素位于直线网格上的图像。

与像素位于常规网格上的 AxesImage 不同,NonUniformImage 允许行和列具有单独的高度/宽度。

另请参阅 非均匀图像 (Image nonuniform)。

参数:
axAxes

图像所属的坐标轴 (Axes)。

interpolation{'nearest', 'bilinear'},默认值:'nearest'

重采样中使用的插值方案。

**kwargs

所有其他关键字参数与 AxesImage 的参数相同。

get_cursor_data(event)[source]#

返回事件位置处的图像值,如果事件在图像外部则返回 None。

get_extent()[source]#

返回以 tuple (left, right, bottom, top) 表示的图像范围。

make_image(renderer, magnification=1.0, unsampled=False)[source]#

使用指定的 renderer 和 magnification 对此图像数据进行归一化、重采样并应用颜色映射以进行渲染。

如果 unsampled 为 True,图像将不会被缩放,而是返回适当的仿射变换。

返回:
image(M, N, 4) numpy.uint8 数组

RGBA 图像,除非 unsampled 为 True,否则会被重采样。

x, yfloat

应该绘制图像的左上角,位于像素空间中。

transAffine2D

从图像到像素空间的仿射变换。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, array=<UNSET>, clim=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, cmap=<UNSET>, data=<UNSET>, extent=<UNSET>, filternorm=<UNSET>, filterrad=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, interpolation=<UNSET>, interpolation_stage=<UNSET>, label=<UNSET>, mouseover=<UNSET>, norm=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, resample=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量

alpha

float 或 2D 数组类或 None

animated

布尔值

array

未知

clim

(vmin: 浮点数, vmax: 浮点数)

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

cmap

未知

data

未知

extent

4-tuple of float

figure

Figure 或 SubFigure

filternorm

未知

filterrad

未知

gid

str

in_layout

布尔值

interpolation

{'nearest', 'bilinear'} 或 None

interpolation_stage

{'data', 'rgba', 'auto'},默认值:rcParams["image.interpolation_stage"](默认值:'auto')

label

object

mouseover

布尔值

norm

未知

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

resample

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

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

zorder

浮点数

set_array(*args)[source]#

为了向后兼容而保留 - 请改用 set_data。

参数:
A数组类
set_cmap(cmap)[source]#

为亮度数据设置色图。

参数:
cmapColormap 或 str 或 None
set_data(x, y, A)[source]#

设置像素中心的网格和像素值。

参数:
x, y1D 数组类

分别为形状为 (N,) 和 (M,) 的单调数组,指定像素中心。

A数组类

(M, N) ndarray 或需要进行颜色映射的值的掩码数组,或者 (M, N, 3) RGB 数组,或者 (M, N, 4) RGBA 数组。

set_filternorm(filternorm)[source]#

设置调整大小过滤器是否对权重进行归一化。

参见 imshow 的帮助信息。

参数:
filternormbool
set_filterrad(filterrad)[source]#

设置调整大小过滤器半径(仅适用于某些插值方案)。

参见 imshow 的帮助信息。

参数:
filterrad正浮点数
set_interpolation(s)[source]#
参数:
s{'nearest', 'bilinear'} 或 None

如果为 None,则使用 rcParams["image.interpolation"](默认值:'auto')。

set_norm(norm)[source]#

设置归一化实例。

参数:
normNormalize 或 str 或 None

备注

如果存在任何颜色条使用此 norm 的可映射对象,则设置可映射对象的 norm 将把颜色条上的 norm、定位器和格式化程序重置为默认值。

class matplotlib.image.PcolorImage(ax, x=None, y=None, A=None, *, cmap=None, norm=None, colorizer=None, **kwargs)[source]#

基类:AxesImage

制作具有不规则矩形网格的 pcolor 样式图。

它使用了原始不规则图像代码的变体,并由 pcolorfast 用于相应的网格类型。

参数:
axAxes

图像所属的坐标轴 (Axes)。

x, y1D 数组类,可选

分别为长度为 N+1 和 M+1 的单调数组,指定矩形边界。如果不提供,将默认为 range(N + 1) 和 range(M + 1)。

A数组类

要进行颜色编码的数据。其解释取决于形状:

  • (M, N) ndarray 或掩码数组:需要进行颜色映射的值

  • (M, N, 3):RGB 数组

  • (M, N, 4):RGBA 数组

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

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

normstr 或 Normalize

将亮度映射到 0-1 范围。

**kwargsArtist 属性
get_cursor_data(event)[source]#

返回事件位置处的图像值,如果事件在图像外部则返回 None。

make_image(renderer, magnification=1.0, unsampled=False)[source]#

使用指定的 renderer 和 magnification 对此图像数据进行归一化、重采样并应用颜色映射以进行渲染。

如果 unsampled 为 True,图像将不会被缩放,而是返回适当的仿射变换。

返回:
image(M, N, 4) numpy.uint8 数组

RGBA 图像,除非 unsampled 为 True,否则会被重采样。

x, yfloat

应该绘制图像的左上角,位于像素空间中。

transAffine2D

从图像到像素空间的仿射变换。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, array=<UNSET>, clim=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, cmap=<UNSET>, data=<UNSET>, extent=<UNSET>, filternorm=<UNSET>, filterrad=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, interpolation=<UNSET>, interpolation_stage=<UNSET>, label=<UNSET>, mouseover=<UNSET>, norm=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, resample=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量

alpha

float 或 2D 数组类或 None

animated

布尔值

array

未知

clim

(vmin: 浮点数, vmax: 浮点数)

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

cmap

Colormap 或 str 或 None

data

未知

extent

4-tuple of float

figure

Figure 或 SubFigure

filternorm

布尔值

filterrad

正浮点数

gid

str

in_layout

布尔值

interpolation

{'auto', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos', 'none'} 或 None

interpolation_stage

{'data', 'rgba', 'auto'},默认值:rcParams["image.interpolation_stage"](默认值:'auto')

label

object

mouseover

布尔值

norm

Normalize 或 str 或 None

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

resample

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

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

zorder

浮点数

set_array(*args)[source]#

为了向后兼容而保留 - 请改用 set_data。

参数:
A数组类
set_data(x, y, A)[source]#

设置矩形边界的网格和数据值。

参数:
x, y1D 数组类,可选

分别为长度为 N+1 和 M+1 的单调数组,指定矩形边界。如果不提供,将默认为 range(N + 1) 和 range(M + 1)。

A数组类

要进行颜色编码的数据。其解释取决于形状:

  • (M, N) ndarray 或掩码数组:需要进行颜色映射的值

  • (M, N, 3):RGB 数组

  • (M, N, 4):RGBA 数组

matplotlib.image.composite_images(images, renderer, magnification=1.0)[source]#

将多个 RGBA 图像合成到一个中。图像按照它们在 images 列表中出现的顺序进行合成。

参数:
images图像列表

每个图像必须有一个 make_image 方法。对于每个图像,can_composite 应返回 True,尽管此函数并不强制要求。每个图像必须具有纯仿射变换,且无剪切。

rendererRendererBase
magnificationfloat,默认值:1

应用于当前渲染器的额外放大倍数。

返回:
image(M, N, 4) numpy.uint8 数组

合成后的 RGBA 图像。

offset_x, offset_yfloat

合成图像在输出图形中应放置的 (left, bottom) 偏移量。

matplotlib.image.imread(fname, format=None)[source]#

从文件读取图像到数组。

注意

此函数出于历史原因保留。建议使用 PIL.Image.open 来加载图像。

参数:
fnamestr 或类文件对象

要读取的图像文件:文件名、URL 或以二进制读取模式打开的类文件对象。

传递 URL 已弃用。请打开 URL 进行读取并将结果传递给 Pillow,例如使用 np.array(PIL.Image.open(urllib.request.urlopen(url)))。

formatstr, 可选

假设用于读取数据的图像文件格式。如果设置了 format 为 "png",或者 fname 是带有 ".png" 扩展名的路径或打开的文件,或者如果它是 URL,则图像将作为 PNG 文件加载。在所有其他情况下,format 将被忽略,格式由 PIL.Image.open 自动检测。

返回:
numpy.array

图像数据。返回的数组形状为:

  • 对于灰度图像为 (M, N)。

  • 对于 RGB 图像为 (M, N, 3)。

  • 对于 RGBA 图像为 (M, N, 4)。

PNG 图像返回为浮点数组 (0-1)。所有其他格式均返回为整数数组,位深度由文件内容决定。

matplotlib.image.imsave(fname, arr, vmin=None, vmax=None, cmap=None, format=None, origin=None, dpi=100, *, metadata=None, pil_kwargs=None)[source]#

对数组进行颜色映射并将其保存为图像文件。

RGB(A) 图像将直接通过。单通道图像将根据 cmap 和 norm 进行颜色映射。

注意

如果您想将单通道图像保存为灰度图,请直接使用图像 I/O 库(如 pillow、tifffile 或 imageio)。

参数:
fname字符串或路径类或文件类

用于存储图像的路径或类文件对象。如果未设置 format,则输出格式将根据 fname 的扩展名(如有)推断;否则,将从 rcParams["savefig.format"](默认值:'png')获取。如果设置了 format,它将决定输出格式。

arrarray-like

图像数据。接受 NumPy 数组或序列(例如列表或元组)。形状可以是 MxN(亮度)、MxNx3(RGB)或 MxNx4(RGBA)。

vmin, vmax浮点型,可选

vmin 和 vmax 通过固定映射到颜色映射颜色界限的值来设置图像的颜色缩放比例。如果 vmin 或 vmax 为 None,则该界限将根据 arr 的最小值/最大值确定。

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

Colormap 实例或已注册的颜色映射名称。颜色映射将标量数据映射到颜色。对于 RGB(A) 数据,此参数将被忽略。

formatstr, 可选

文件格式,例如 'png', 'pdf', 'svg', ... 未设置此项时的行为已在 *fname* 下记录。

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

指示数组的 (0, 0) 索引位于坐标轴的左上角还是左下角。

dpifloat

存储在文件元数据中的 DPI。这不会影响输出图像的分辨率。根据文件格式,该值可能会四舍五入到最接近的整数。

metadata字典,可选

图像文件中的元数据。支持的键取决于输出格式,详情请参阅各后端的文档。目前仅支持 "png"、"pdf"、"ps"、"eps" 和 "svg"。

pil_kwargs字典,可选

传递给 PIL.Image.Image.save 的关键字参数。如果存在 'pnginfo' 键,它将完全覆盖 metadata,包括默认的 'Software' 键。

matplotlib.image.pil_to_array(pilImage)[source]#

加载 PIL 图像 并将其作为 numpy 整数数组返回。

返回:
numpy.array

数组形状取决于图像类型

  • 对于灰度图像为 (M, N)。

  • 对于 RGB 图像为 (M, N, 3)。

  • 对于 RGBA 图像为 (M, N, 4)。

matplotlib.image.thumbnail(infile, thumbfile, scale=0.1, interpolation='bilinear', preview=False)[source]#

[已弃用] 为 infile 中的图像制作缩略图,输出文件名为 thumbfile。

请参阅 Pillow 的替代方案。

参数:
infilestr 或类文件对象

图像文件。Matplotlib 依赖 Pillow 进行图像读取,因此支持多种文件格式,包括 PNG、JPG、TIFF 等。

thumbfilestr 或类文件对象

缩略图文件名。

scalefloat,默认值:0.1

缩略图的缩放比例。

interpolationstr,默认值:'bilinear'

重采样中使用的插值方案。有关可能的值,请参阅 imshow 的 interpolation 参数。

previewbool,默认值:False

如果为 True,则将使用默认后端(通常是用户界面后端),如果调用 show,则会导致图表显示。如果为 False,则使用 FigureCanvasBase 创建图表,并按照 Figure.savefig 的常规方式选择绘图后端。

返回:
Figure

包含缩略图的图表实例。

备注

自 3.11 版本弃用: 请改用 Pillow 的 PIL.Image.Image.thumbnail。