pyplot(matplotlib)简单易懂解释

本文详细介绍了如何使用matplotlib的pyplot模块进行图形绘制,包括通过figure和subplot函数创建主窗口与子图,利用subplots方法管理显示窗口与子图布局,以及使用其他绘图和显示技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、用figure函数和subplot函数分别创建主窗口与子图

from skimage import data
import matplotlib.pyplot as plt
img=data.astronaut()
plt.figure(num='astronaut',figsize=(8,8))  #创建一个名为astronaut的窗口,并设置大小 

plt.subplot(2,2,1)     #将窗口分为两行两列四个子图,则可显示四幅图片
plt.title('origin image')   #第一幅图片标题
plt.imshow(img)      #绘制第一幅图片

plt.subplot(2,2,2)     #第二个子图
plt.title('R channel')   #第二幅图片标题
plt.imshow(img[:,:,0],plt.cm.gray)      #绘制第二幅图片,且为灰度图
plt.axis('off')     #不显示坐标尺寸

plt.subplot(2,2,3)     #第三个子图
plt.title('G channel')   #第三幅图片标题
plt.imshow(img[:,:,1],plt.cm.gray)      #绘制第三幅图片,且为灰度图
plt.axis('off')     #不显示坐标尺寸

plt.subplot(2,2,4)     #第四个子图
plt.title('B channel')   #第四幅图片标题
plt.imshow(img[:,:,2],plt.cm.gray)      #绘制第四幅图片,且为灰度图
plt.axis('off')     #不显示坐标尺寸

plt.show()   #显示窗口

二、用subplots来创建显示窗口与划分子图

import matplotlib.pyplot as plt
from skimage import data,color

img = data.immunohistochemistry()
hsv = color.rgb2hsv(img)

fig, axes = plt.subplots(2, 2, figsize=(7, 6))
ax0, ax1, ax2, ax3 = axes.ravel()

ax0.imshow(img)
ax0.set_title("Original image")

ax1.imshow(hsv[:, :, 0], cmap=plt.cm.gray)
ax1.set_title("H")

ax2.imshow(hsv[:, :, 1], cmap=plt.cm.gray)
ax2.set_title("S")

ax3.imshow(hsv[:, :, 2], cmap=plt.cm.gray)
ax3.set_title("V")

for ax in axes.ravel():
    ax.axis('off')

fig.tight_layout()  #自动调整subplot间的参数

三、其它方法绘图并显示

from skimage import data
from skimage.viewer import ImageViewer

img = data.coins()
viewer = ImageViewer(img)
viewer.show()

详情请点我

### 正确导入和使用 `matplotlib.pyplot` 的方法 要正确导入并使用 `matplotlib.pyplot`,需遵循以下原则: #### 导入库 首先需要确保已安装 `matplotlib` 库。如果尚未安装,则可以通过以下命令完成安装: ```bash pip install matplotlib ``` 接着,在 Python 脚本中通过如下方式导入 `matplotlib.pyplot` 并为其指定别名 `plt`,这是最常见的做法[^2]: ```python import matplotlib.pyplot as plt ``` #### 使用绘图功能 一旦成功导入 `matplotlib.pyplot`,可以调用其内置函数实现数据可视化。例如绘制一条简单的折线图: ```python import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 10, 100) y = np.sin(x) plt.plot(x, y) # 绘制曲线 plt.title('Sine Wave') # 添加标题 plt.xlabel('X-axis') # 设置 X 轴标签 plt.ylabel('Y-axis') # 设置 Y 轴标签 plt.show() # 显示图形 ``` 上述代码展示了如何利用 `plot()` 方法绘制正弦波形图表,并设置了必要的标注。 #### 面向对象风格 vs Pyplot 风格 Matplotlib 提供两种主要的绘图方式:面向对象(Object-Oriented, OO)风格以及基于 `pyplot` 的隐式管理风格[^3]。对于初学者而言,通常推荐采用后者因为它更加简洁易懂;然而随着需求复杂度增加,可能更倾向于前者以获得更大的灵活性与控制力。 #### 解决常见问题 当尝试在特定版本如 Python 3.12 下执行 `import matplotlib.pyplot as plt` 出现错误时,可能是由于缺失某些依赖项或者路径配置不当引起[^4]。此时建议检查系统上是否存在所需的所有外部库文件,并确认环境变量已被适当设定好以便于访问这些资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值