问题描述
|
当我处于交互式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>]