有没有办法从终端关闭用 matplotlib 创建的图(不必用鼠标关闭 window)

Is there a way to close a plot created with matplotlib from terminal (without having to close the window with mouse)

有没有一种方法可以通过终端中的命令关闭使用 matplotlib 创建的绘图(无需使用鼠标关闭 window)?

我在 macOS 10.15.7

上使用 zsh

假设我有一个包含以下内容的文件 plot1.py

import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show()

在命令行中,当我执行 python plot1.py 时,这会打开 window 显示绘图。我想做的是使用键盘命令从终端关闭此 window。我试过 ctrl + cctrl + y 没有成功,我必须通过单击关闭按钮

用鼠标关闭 window

注意:我没有使用 anaconda(如 this question

中所述

您可以使用 plt.show 方法的 block 参数:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show(block=False)
plt.pause(1)
input()
plt.close()

使用上面的代码,只要在终端中按 Enter,就可以关闭 window。


您也可以使用 Alt + F4,确保 matplotlib window 在终端window。当然,那是 windows 热键而不是终端快捷方式...