Matplotlib 教程 之 Matplotlib imshow() 方法 6

简介: Matplotlib `imshow()` 方法教程:详解如何使用 `imshow()` 函数显示二维图像,包括灰度图、彩色图及不同插值方法的应用示例。通过调整参数如颜色映射(cmap)、插值方法(interpolation)等,实现图像的不同视觉效果。

Matplotlib 教程 之 Matplotlib imshow() 方法 6

Matplotlib imshow() 方法

imshow() 函数是 Matplotlib 库中的一个函数,用于显示图像。

imshow() 函数常用于绘制二维的灰度图像或彩色图像。

imshow() 函数可用于绘制矩阵、热力图、地图等。

imshow() 方法语法格式如下:

imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=None, filternorm=1, filterrad=4.0, imlim=None, resample=None, url=None, , data=None, *kwargs)

参数说明:

X:输入数据。可以是二维数组、三维数组、PIL图像对象、matplotlib路径对象等。
cmap:颜色映射。用于控制图像中不同数值所对应的颜色。可以选择内置的颜色映射,如gray、hot、jet等,也可以自定义颜色映射。
norm:用于控制数值的归一化方式。可以选择Normalize、LogNorm等归一化方法。
aspect:控制图像纵横比(aspect ratio)。可以设置为auto或一个数字。
interpolation:插值方法。用于控制图像的平滑程度和细节程度。可以选择nearest、bilinear、bicubic等插值方法。
alpha:图像透明度。取值范围为0~1。
origin:坐标轴原点的位置。可以设置为upper或lower。
extent:控制显示的数据范围。可以设置为[xmin, xmax, ymin, ymax]。
vmin、vmax:控制颜色映射的值域范围。
filternorm 和 filterrad:用于图像滤波的对象。可以设置为None、antigrain、freetype等。
imlim: 用于指定图像显示范围。
resample:用于指定图像重采样方式。
url:用于指定图像链接。

以下创建了一个 4x4 的二维 numpy 数组,并对其进行了三种不同的 imshow 图像展示。

第一张展示了灰度的色彩映射方式,并且没有进行颜色的混合(blending)。
第二张展示了使用viridis颜色映射的图像,同样没有进行颜色的混合。
第三张展示了使用viridis颜色映射的图像,并且使用了双立方插值方法进行颜色混合。
实例
import matplotlib.pyplot as plt
import numpy as np

n = 4

创建一个 n x n 的二维numpy数组

a = np.reshape(np.linspace(0,1,n**2), (n,n))

plt.figure(figsize=(12,4.5))

第一张图展示灰度的色彩映射方式,并且没有进行颜色的混合

plt.subplot(131)
plt.imshow(a, cmap='gray', interpolation='nearest')
plt.xticks(range(n))
plt.yticks(range(n))

灰度映射,无混合

plt.title('Gray color map, no blending', y=1.02, fontsize=12)

第二张图展示使用viridis颜色映射的图像,同样没有进行颜色的混合

plt.subplot(132)
plt.imshow(a, cmap='viridis', interpolation='nearest')
plt.yticks([])
plt.xticks(range(n))

Viridis映射,无混合

plt.title('Viridis color map, no blending', y=1.02, fontsize=12)

第三张图展示使用viridis颜色映射的图像,并且使用了双立方插值方法进行颜色混合

plt.subplot(133)
plt.imshow(a, cmap='viridis', interpolation='bicubic')
plt.yticks([])
plt.xticks(range(n))

Viridis 映射,双立方混合

plt.title('Viridis color map, bicubic blending', y=1.02, fontsize=12)

plt.show()

目录
相关文章
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Seaborn 教程 10
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于统计图形的绘制。它提供了高级接口和美观的默认主题,简化了复杂图形的生成过程。Seaborn 支持多种图表类型,如散点图、折线图、柱状图、热图等,并特别强调视觉效果。例如,使用 `sns.violinplot()` 可以轻松绘制展示数据分布的小提琴图。
34 1
|
13天前
|
Python
Matplotlib imsave() 方法
Matplotlib imsave() 方法
21 7
|
13天前
|
存储 Python
Matplotlib imread() 方法
Matplotlib imread() 方法
32 6
|
19天前
|
定位技术 Python
Matplotlib imshow() 方法
Matplotlib imshow() 方法
54 10
|
26天前
|
机器学习/深度学习 计算机视觉 Python
Matplotlib 教程
Matplotlib 教程
19 1
|
2月前
|
数据可视化 数据挖掘 Python
Matplotlib 教程 之 Seaborn 教程 8
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于统计图形的绘制。它提供了简洁的高级接口和美观的默认样式,支持多种图表类型,如散点图、折线图、柱状图、热图等,特别适合于数据分析和展示。例如,使用 `sns.boxplot()` 可以轻松绘制箱线图,展示数据的分布情况。
40 3
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Seaborn 教程 9
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于统计图形的绘制。它提供了高级接口和美观的默认主题,简化了复杂图形的生成过程。本文介绍了 Seaborn 的主要功能和绘图函数,包括热图 `sns.heatmap()` 的使用方法和示例代码。
24 1
|
3月前
|
Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
|
3月前
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
58 1
|
13天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
57 8