Matplotlib 中的 plt.figure() 详解
首先需要说明的是,在 Python 的数据可视化库 Matplotlib 中,并没有名为 ltfigure 的标准函数,这通常是一个拼写错误,用户实际想要寻找的是 matplotlib.pyplot.figure()(通常在代码中通过 import matplotlib.pyplot as plt 导入,因此调用为 plt.figure())。
plt.figure() 是 Matplotlib 绘图系统的核心顶层容器,它相当于一张“画布”,所有的图表、坐标轴、标题和图例都绘制在这张画布之上。
plt.figure() 的基本作用
当你调用 plt.figure() 时,你是在告诉 Python 创建一个新的窗口或图像区域,如果你不显式调用它,Matplotlib 在你调用 plt.plot() 等绘图函数时会自动创建一个默认的 figure。
常用核心参数
通过传递参数给 plt.figure(),你可以精确控制画布的属性:
- figsize: 设置画布的尺寸,接收一个元组
(宽, 高),单位是英寸。- 示例:
plt.figure(figsize=(10, 6))表示宽度 10 英寸,高度 6 英寸。
- 示例:
- dpi: 设置分辨率(Dots Per Inch),数值越高,图像越清晰,文件体积也越大。
- 示例:
plt.figure(dpi=100)。
- 示例:
- facecolor: 设置画布的背景颜色。
- 示例:
plt.figure(facecolor='lightgrey')。
- 示例:
- edgecolor: 设置画布边缘的颜色。
代码实战示例
以下是一个完整的代码示例,展示如何配置画布并绘制简单的折线图:
import matplotlib.pyplot as plt
import numpy as np
# 1. 创建画布:设置尺寸为 8x4 英寸,分辨率为 100 DPI,背景色为淡蓝色
plt.figure(figsize=(8, 4), dpi=100, facecolor='#f0f0f0')
# 2. 准备数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 3. 在当前画布上绘图
plt.plot(x, y, label='Sine Wave', color='blue', linewidth=2)
# 4. 添加装饰元素"Basic Figure Example")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.legend()
plt.grid(True)
# 5. 显示图像
plt.show()
进阶:plt.figure() 与 plt.subplots() 的区别
在实际开发中,你可能会看到两种创建画布的方式:
- plt.figure()
: 创建一个空白画布,如果你需要手动添加多个子图(Axes),通常配合
plt.subplot()或fig.add_subplot()使用。 - plt.subplots(): 这是一个快捷函数,它会同时创建
Figure(画布)和Axes(坐标轴对象)。- 示例:
fig, ax = plt.subplots(2, 2)会直接创建一个 2×2 的子图矩阵。
- 示例:
- plt.figure() 是定义图像整体属性(尺寸、分辨率、颜色)的入口。
- 如果你需要自定义图像大小,
figsize是最常用的参数。 - Figure $rightarrow$ Axes $rightarrow$ Plot 是 Matplotlib 的层级结构,
plt.figure()处于最顶层。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/489844.html



