我有一个Python脚本myscript.py
,如下所示:
$ cat myscript.py
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [1, 3, 2])
在 pylab 模式下运行IPython时:
$ ipython --pylab
执行以下命令(我的脚本中的第2行)将导致图形在新窗口中弹出:
In []: plt.plot([1, 2, 3], [1, 3, 2])
另一方面,当运行myscript.py
时,图像将不会显示:
In []: %run myscript.py
有没有办法改变这种行为并强制IPython显示脚本中生成的图像?
答案 0 :(得分:2)
使用%run
命令在IPython控制台中执行外部脚本时,这些脚本将以非交互模式执行。因此,
plt.show()
必须在脚本中添加才能显示生成的图形。