Windows下的交互式matplotlib
当我在一个交互式的Python环境中(通常是IPython)时,下面这些命令:
from matplotlib import pyplot as plt
plt.plot([1,2,3,4])
并不会自动弹出一个窗口来显示图表。让我能真正看到matplotlib图表的唯一方法是使用show()
,但这会把所有输入都暂停,直到我关闭窗口,这样图表就会消失。现在我必须在看到任何结果之前先输入所有的绘图命令,这实在是太麻烦了。在OSX系统上,我没有这个问题。
我使用的后端是TkAgg。调用draw()
和ion()
并没有任何效果。
1 个回答
3
如果你使用的是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,2,3,4])
Out[7]: [<matplotlib.lines.Line2D object at 0x00F89D50>]