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(),它会关闭当前窗口并释放内存。


相关文章