如何关闭所有打开的pyplot窗口(Matplotlib)?
在Matplotlib中,pyplot是用于可视化的主要工具。通常当我们用Matplotlib绘制图形时,会在程序中打开许多不同的pyplot窗口。但是当程序运行结束之后,这些窗口常常会仍然保留在屏幕上,需要手动关闭。有时候关闭多个窗口可能会比较繁琐,因此,本文将介绍如何关闭所有打开的pyplot窗口。
示例代码
在Matplotlib绘制图形时,经常会使用pyplot.show()
命令来展示图像。这会在屏幕上打开一个图像窗口。当我们绘制多个图像时,可能会打开多个这样的窗口。为了关闭这些窗口,可以使用Matplotlib提供的pyplot.close()
命令。如果没有任何参数,pyplot.close()
将关闭最近打开的图像窗口。如果想关闭所有打开的窗口,可以使用pyplot.close("all")
命令。
import matplotlib.pyplot as plt
import numpy as np
# 绘制两张图像
plt.plot(np.arange(10))
plt.show()
plt.plot(np.arange(5))
plt.show()
# 关闭所有窗口
plt.close("all")
上面的代码将绘制两张图像,并在每个图像之后打开一个pyplot窗口。最后,使用plt.close("all")
命令关闭这些窗口。
另外,如果想关闭指定的窗口,可以将其窗口名作为参数传递给pyplot.close()
命令,例如:plt.close(<窗口名>)
。下面的示例演示了如何关闭指定的pyplot窗口。
import matplotlib.pyplot as plt
# 绘制两张图像,并指定窗口名
plt.plot([1,2,3], [4,5,6], "b-", label="line1", linewidth=2)
plt.plot([1,2,3], [6,3,7], "g-", label="line2", linewidth=2)
plt.legend(loc="upper left")
# 显示第一个图像,并指定窗口名
plt.show(block=False)
plt.gcf().canvas.set_window_title("Figure 1")
# 显示第二个图像,并指定窗口名
plt.figure()
plt.plot([1,2,3], [4,5,6], "r--", label="line3", linewidth=2)
plt.legend(loc="upper right")
plt.show(block=False)
plt.gcf().canvas.set_window_title("Figure 2")
# 关闭第一个图像
plt.close("Figure 1")
上面的代码将绘制两张图像,并分别指定窗口名为”Figure 1″和”Figure 2″。接着使用plt.show(block=False)
命令展示这些图像,并使用plt.gcf().canvas.set_window_title()
命令设置窗口名。最后,使用plt.close("Figure 1")
命令关闭名为”Figure 1″的窗口。
结论
使用Matplotlib时,我们可以使用pyplot.show()
命令打开多个图像窗口,在程序运行结束之后,可以使用pyplot.close()
命令关闭这些窗口。如果要关闭所有窗口,可以使用pyplot.close("all")
命令。如果要关闭指定的窗口,可以将窗口名作为参数传递给pyplot.close()
命令。使用这些命令可以方便地管理Matplotlib绘制的图像窗口。