Windows下的交互式matplotlib

2 投票
1 回答
1349 浏览
提问于 2025-04-16 19:36

当我在一个交互式的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>]

撰写回答