Windows下的交互式matplotlib

问题描述

| 当我处于交互式python会话(通常为IPython)中时,以下命令:
from matplotlib import pyplot as plt
plt.plot([1,2,3,4])
不要自动升起一个显示图的窗口。我可以使matplotlib真正提高窗口的唯一方法是使用
show()
,它还会捕获所有输入,直到我关闭窗口销毁绘图为止。现在我必须给出所有绘图命令,然后才能看到任何结果,这是一个很大的麻烦。在OSX上,我没有这个问题。 我正在使用的后端是TkAgg。使用
draw()
ion()
调用无效。     

解决方法

        如果您使用IPython pylab模式,则可以使用:
In [1]: plot([1,2,3,4])
Out[1]: [<matplotlib.lines.Line2D object at 0x020F75B0>]
不需要show()或matplotlib导入。 在IPython普通模式下,您可以使会话交互。这也适用:
In [4]: from matplotlib import interactive

In [5]: interactive(True)

In [6]: from matplotlib import pyplot as plt

In [7]: plt.plot([1,4])
Out[7]: [<matplotlib.lines.Line2D object at 0x00F89D50>]