发出show()后不会出现图窗口

时间:2012-08-31 19:55:25

标签: matplotlib ipython updates figure enthought

我最近将ipython和pandas更新到他们最新的稳定版本。它在matplotlib中导致了一些奇怪的行为,如果我从终端运行(以前表现)脚本,我就无法获得数字。如果我在ipython qtconsole中,即使发出show()命令,我也无法显示一个情节。除非是我发出绘图命令后发出figure(1)命令(参见下面的粘贴代码)。我的python环境是Enthought最近的(我相信)安装。

这是代码/进程和ipython会话。没有数字出现,直到最后一行,这似乎不对。

In[1]: figure()
Out[1]: <matplotlib.figure.Figure at 0x2f05910>

In[2]: show()

In[3]: plot(arange(10))
Out[3]: [<matplotlib.lines.Line2D at 0x3196b90>]

In[4]: show()

In[5]: draw()

In[6]: figure()
Out[6]: <matplotlib.figure.Figure at 0x31a6210>

In[7]: figure(1)
Out[7]: 

2 个答案:

答案 0 :(得分:4)

这看起来与您正在使用的后端有关。如果您使用ipython选项启动--pylab,则无需致电show()draw()。尝试使用不同的后端(如果已安装它们)。一些例子:

ipython --pylab=tk
ipython --pylab=qt
ipython --pylab=wx
ipython --pylab=gtk
ipython --pylab=osx

我怀疑环保署可能只有tk后端,但我可能错了。

答案 1 :(得分:1)

我使用以下命令在命令行中启动了ipython notebook:

C:\..\cur_dir> ipython notebook --pylab=inline

然后我尝试了:

plot(arange(10))

并显示图像。