plt.imshow()和plt.show
时间: 2025-05-26 10:57:56 浏览: 29
### Matplotlib 中 `plt.imshow` 和 `plt.show` 的功能及用法
#### 功能概述
`plt.imshow()` 是 Matplotlib 库中的一个函数,主要用于显示图像数据。它可以处理二维数组或图像文件,并将其渲染为可视化的形式[^1]。另一方面,`plt.show()` 是用来展示所有已经创建好的图形窗口的命令。它是将内存中的绘图对象呈现到屏幕上的必要步骤[^4]。
#### 使用方法详解
##### 1. `plt.imshow()`
该函数的主要作用是加载和显示图像或者矩阵数据作为图像的一部分。以下是其基本使用方式:
- **参数说明**
- 参数可以接受多种类型的输入,比如 NumPy 数组、PIL 图像对象等。
- 可选参数包括但不限于 `cmap`(指定颜色映射)、`interpolation`(插值方法)以及 `alpha`(透明度控制)。通过这些选项能够自定义图像的表现效果[^3]。
- **代码实例**
```python
import matplotlib.pyplot as plt
from PIL import Image
# 打开本地图片文件
img = Image.open('./dog.png')
# 创建一个新的figure窗口命名为'dog'
plt.figure("dog")
# 调用imshow函数传入图像变量img
plt.imshow(img)
# 不立即关闭程序等待进一步操作直到show被调用
```
上述例子展示了如何利用 Pillow 库打开一张名为 dog 的 PNG 文件并通过 `plt.imshow()` 方法呈现在 Figure 窗口中。
另外还可以从其他库导入图像数据源如下面的例子所示:
```python
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
# 使用mpimg模块读取 Lena 测试图案
img = mpimg.imread('lena.png')
# 展示读取后的图像内容
plt.imshow(img)
plt.axis('off') # 隐藏坐标轴以便更专注于图像本身
```
这里我们采用了另一种途径即借助于 `matplotlib.image` 子包下的 `imread` 函数获取图像像素信息再交给 `imshow` 进行可视化[^2]。
##### 2. `plt.show()`
当完成所有的绘图指令后执行此语句,则会弹出相应的 GUI 对话框显示出之前所构建的所有图表。如果没有显式地调用了这个函数的话那么即使完成了前面一系列作图过程也不会有任何东西真正显现出来给用户看得到。
- **典型场景**
当多个子图需要一起比较查看的时候只需要最后统一呼叫一次即可实现多张图画的同时展现而无需每增加一幅新画面就重复多次单独触发显示动作从而简化了整体流程提高了效率减少了冗余代码量。
```python
...
plt.show()
```
以上就是整个绘制过程中不可或缺的最后一环——让辛苦准备的一切成果最终得以直观呈现的关键所在!
### 总结对比表
| 特性 | plt.imshow() | plt.show() |
|----------------|--------------------------------------------------------------------------------------------------|-------------------------------------|
| 主要用途 | 渲染并显示特定的数据结构(如numpy array 或者 image object)作为一个独立的部分 | 将当前session里产生的全部figures一次性投射至前端界面供观察 |
| 是否必需 | 如果想看到具体某个区域的内容则必不可少 | 若要实际看见任何由matplotlib生成的东西必不可少 |
| 输出目标 | 单独的一幅或多幅嵌套在更大布局里的局部视图 | 整体性的综合表现 |
---
阅读全文
相关推荐


















