gpt4 book ai didi

python - 从 Eclipse 运行时关闭 matplotlib 中预先存在的图形

转载 作者:IT老高 更新时间:2023-10-28 20:21:07 26 4
gpt4 key购买 nike

我的问题很简单:我有一个使用 matplotlib 生成图形的 python 脚本。每次我运行它时,它都会生成带有数字的新窗口。如何让脚本关闭上次运行时打开的窗口?

matlab 中的类似命令是将“全部关闭”放在 matlab 脚本的开头。

我看到了一些建议来做类似的事情

import matplotlib.pyplot as plt
plt.close("all")

如果您从 python shell 运行脚本,则此解决方案有效,例如使用

>>>> execfile("myScript.py")

但是,我发现如果我使用 Eclipse/PyDev 运行脚本,这将不起作用。如何让它在 Eclipse 中工作?

示例:

from numpy import *
from matplotlib.pyplot import *
from scipy import *

close("all")
#close any previously open plots - this doesn't work when running via Eclipse

t = linspace(0, 0.1,1000)
w = 60*2*pi

figure()
plot(t,cos(w*t))
plot(t,cos(w*t-2*pi/3))
plot(t,cos(w*t-4*pi/3))
show()

这应该为一个不错的三相电源绘制理想的波形。

最佳答案

可以通过调用matplotlib.pyplot.close来关闭图形,例如:

from numpy import *
import matplotlib.pyplot as plt
from scipy import *

t = linspace(0, 0.1,1000)
w = 60*2*pi


fig = plt.figure()
plt.plot(t,cos(w*t))
plt.plot(t,cos(w*t-2*pi/3))
plt.plot(t,cos(w*t-4*pi/3))
plt.show()
plt.close(fig)

您也可以通过调用 matplotlib.pyplot.close("all")

关闭所有打开的图形

关于python - 从 Eclipse 运行时关闭 matplotlib 中预先存在的图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15012309/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com