Matplotlib 中的 plt.close() 和 plt.clf() 有什么区别?
matplotlibserver side programmingprogramming更新于 2025/10/6 22:37:17
plt.figure() - 创建新图形或激活现有图形。
plt.figure().close() - 关闭图形窗口。
close() 单独关闭当前图形
close(h),其中 h 是一个 Figure 实例,用于关闭该图形
close(num) 关闭编号为 num 的图形
close(name),其中 name 是一个字符串,用于关闭该图形标签
close('all') 关闭所有图形窗口
plt.figure().clear() - 与 clf 相同。
plt.cla() - 清除当前坐标区。
plt.clf() - 清除当前图形。
示例
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
x = np.linspace(-1, 1, 10)
y = np.linspace(1, 2, 10)
plt.plot(x, y, c="red")
plt.title("第一幅图")
plt.show()
plt.clf()
plt.plot(x, y, c="green")
plt.title("第二幅图")
plt.show()
plt.close()
输出
执行代码后,将显示第一幅图 −

之后,由于我们使用了 plt.clf(),它会清除图形,但保持窗口打开以绘制第二个图。

之后,由于我们使用了 plt.close(),它会关闭当前窗口并释放内存。

