2012-06-16 76 views
1

对于我的生活,我无法获得matplotlib以非活动方式在ipython中显示图形。在python中以交互方式显示matplotlib中的图形

我已经试过两种方法 - 每一次,我得到了相同的结果:

In [10]: plot([1,2,3]) 
Out[10]: [<matplotlib.lines.Line2D at 0x104e9ca50>] 

下面是到目前为止,我已经尝试了两种方法: 使用the documentation为指导,我尝试两种不同的方法:

第一:

ipython --pylab 

plot([1,2,3]) 
xlabel('hi mom') 

In [3]: plot([1,2,3]) 
Out[3]: [<matplotlib.lines.Line2D at 0x107e369d0>] 

二:

ipython 
import numpy 
import pylab 

In [5]: pylab.plot([1,2,3]) 
Out[5]: [<matplotlib.lines.Line2D at 0x104ca7b90>] 

如何获取要显示的图表?

+0

不清楚你的文本中的不活动意味着什么,并在你的标题中迭代。 –

+1

调用'pylab.show()',或者如果你想让它们自动弹出,在创建一个图之前调用'pylab.ion()'。 –

+0

你的意思是交互式吗? – Usagi

回答

5

可能你有一个非GUI后端集。试着做pylab.get_backend()看看你设置了什么后端。查看文档herehere,了解如何设置后端。

+0

刚刚检查:'MacOSX'。我看到如何通过文档对其进行更改,但有关使用哪一个的建议?现在,我搞乱了'matplotlib',并希望在我绘制新的东西时在屏幕上刷新图形。 – mikebmassey

+0

根据文档,MacOSX应该是GUI后端,所以我不知道它为什么不起作用。假设您确定已将其设置为交互模式(如上面的注释中所述),则可以尝试在文档页面上列出的任何其他交互式后端(例如TkAgg)。您也可以在matplotlib邮件列表上询问。 – BrenBarn

+0

谢谢。会给那个镜头。 – mikebmassey