无法从一个python文件调用多个绘图函数

时间:2016-02-24 16:47:01

标签: python function matplotlib plot

我有几个文件,我目前正在转变为功能。每个函数都从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代码,所以请耐心等待:-)

1 个答案:

答案 0 :(得分:1)

我假设您在plt.show()Ux_plotting函数末尾有prgh_plottingplt.show()是一个阻塞函数:即它将显示任何数字,并在图形窗口关闭之前停止其他任何事情。

我认为你(至少)有两种选择;

1)在您的两个绘图调用之后,将plt.show()移动到您的主脚本中,因为(from the docs),show()将显示所有已创建的数据:

  

matplotlib.pyplot.show(* args,** kw)

     

显示数字。

     

在非交互模式下,显示所有数字并阻止,直到数字已关闭

2)或者,您可以尝试在第一个绘图功能block=Falseshow中设置plt.show(block=False),这应该允许代码一直持续到下一个{{1}在第二个绘图函数中。