在 Matplotlib 中,plt.close() 和 plt.clf() 有什么区别?


  • 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("First Plot")
plt.show()
plt.clf()

plt.plot(x, y, c='green')
plt.title("Second Plot")
plt.show()
plt.close()

输出

执行代码后,将显示第一个绘图。

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

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

更新于:2021年5月8日

1K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告