如何在 Matplotlib 中显示已关闭的图形?

matplotlibpythondata visualization

要显示已在 Matplotlib 中关闭的图形,我们可以创建一个新的 Canvas Manager 并将前一个图形存储到新的 Canvas 图形中。

步骤

  • 设置图形大小并调整子图之间和周围的填充。
  • 创建一个新图形或激活现有图形。
  • 使用 numpy 创建 x 和 y 数据点。
  • 使用 plot() 方法绘制 x 和 y 数据点。
  • 关闭已绘制图形的当前图形。
  • 现在,将前一个图形存储在新的 Canvas 图形中。
  • 设置包含图形的 Canvas。
  • 要显示图形,请使用 show()方法。

示例

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()
x = np.linspace(-10, 10, 100)
y = np.sin(x)

plt.plot(x, y)
plt.close(fig)

new_fig = plt.figure()
new_manager = new_fig.canvas.manager
new_manager.canvas.figure = fig
fig.set_canvas(new_manager.canvas)

plt.show()

输出


相关文章