我有几个文件,我目前正在转变为功能。每个函数都从csv文件生成一个图,并且可以自己成功运行。我现在正在尝试将它们全部组合到一个代码中,该代码将调用每个函数并一次创建绘图。我遇到的问题是我正在正确地调用函数,除了只打开一个图。第二个(以及随后的)打开,直到前一个关闭。我的代码是:
#!usr/bin/python
import os.path
from Ux import Ux_plotting
from prgh import prgh_plotting
print "Creating post-processing plots..."
if os.path.exists("Ux.py") and os.path.exists("Uz.py") and os.path.exists("prgh.py") and os.path.exists("forces.py") and os.path.exists("magvorticity.py"):
print "All good. Next step..."
else:
print "Uh oh. Better make sure you have all of your files."
Ux_plotting()
prgh_plotting()
有人对此有一些建议吗?
我试图编写我的第一个python代码,所以请耐心等待:-)
答案 0 :(得分:1)
我假设您在plt.show()
和Ux_plotting
函数末尾有prgh_plotting
。 plt.show()
是一个阻塞函数:即它将显示任何数字,并在图形窗口关闭之前停止其他任何事情。
我认为你(至少)有两种选择;
1)在您的两个绘图调用之后,将plt.show()
移动到您的主脚本中,因为(from the docs),show()
将显示所有已创建的数据:
matplotlib.pyplot.show(* args,** kw)
显示数字。
在非交互模式下,显示所有数字并阻止,直到数字已关闭
2)或者,您可以尝试在第一个绘图功能block=False
:show
中设置plt.show(block=False)
,这应该允许代码一直持续到下一个{{1}在第二个绘图函数中。