IPython:在pylab模式下在IPython内运行外部脚本时打印图形

IPython:在pylab模式下在IPython内运行外部脚本时打印图形,ipython,Ipython,我有一个Python脚本myscript.py,如下所示: $ cat myscript.py import matplotlib.pyplot as plt plt.plot([1, 2, 3], [1, 3, 2]) 在pylab模式下运行IPython时: 执行以下命令(脚本中的第2行)将在新窗口中弹出图形: In []: plt.plot([1, 2, 3], [1, 3, 2]) 另一方面,当运行myscript.py时,图像将不会显示: In []: %run myscript.

我有一个Python脚本
myscript.py
,如下所示:

$ cat myscript.py
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [1, 3, 2])
在pylab模式下运行IPython时:

执行以下命令(脚本中的第2行)将在新窗口中弹出图形:

In []: plt.plot([1, 2, 3], [1, 3, 2])
另一方面,当运行
myscript.py
时,图像将不会显示:

In []: %run myscript.py

是否有任何方法可以更改此行为并强制IPython显示在脚本中生成的图像?

当使用
%run
命令在IPython的控制台中执行外部脚本时,这些脚本将在交互模式下执行。所以,

plt.show()
必须添加到脚本中才能显示生成的图形

plt.show()