2014-01-30 48 views
9

我是python科学计算的新手,我试图在IPython笔记本上做一个简单的图形。plot()在IPython笔记本上不起作用

import pandas 
plot(arange(10)) 

然后错误显示如下。

--------------------------------------------------------------------------- 
NameError         Traceback (most recent call last) 
<ipython-input-2-6b139d572bd6> in <module>() 
     1 import pandas 
----> 2 plot(arange(10)) 

NameError: name 'plot' is not defined 

相反,与IPython中--pylab模式,右图弹出时,我试图相同的代码。

我是否缺少任何环境?

我的环境是Mac OSX 10.8.5,python 2.7.5,IPython 1.1.0,matplotlib 1.3.1和pandas 0.12.0。我从continuum.io中通过Anaconda安装程序下载了python科学环境。蟒蛇版本是截至2014年1月30日的最新版本。

+0

内绘制例如[这里](http://pandas.pydata.org/pandas-docs/dev/visualization.html#plotting-with-matplotlib) –

回答

16

建议不要使用pylab模式。请参阅以下postMatthias Bussonnier

从该职位摘要:

为什么不使用pylab标志:

  1. 这是irreversible-不能unimport
  2. Unclear-如果别人没有跑用这个标志(或用不同的设置)会发生什么?
  3. 污染了命名空间
  4. 替换内置插件
  5. 副作用

你是做你的IPython的笔记本里面以下好得多。

 
%matplotlib inline 

import matplotlib.pyplot as plt 
plt.plot(range(10)) 

以下是--pylab带来到命名空间

 
import numpy 
import matplotlib 
from matplotlib import pylab, mlab, pyplot 
np = numpy 
plt = pyplot 

from IPython.core.pylabtools import figsize, getfigs 

from pylab import * 
from numpy import * 

不过,如果你想使用pylab,并有地块内联的代码,你可以做以下任一操作:

从外壳:

 
$ ipython notebook --pylab inline 

或者,从你的笔记本

 
%pylab inline 
+0

'%matplotlib inline“给我一个'错误:魔术功能matplotlib找不到',都在'ipython qtconsole'和'ipython notebook'中。 –

+0

检查以下问题:https://github.com/ContinuumIO/anaconda-issues/issues/12 –

+0

如果IPython版本为1+,应该可以工作。如果你只是在你的shell上运行ipython-它显示的是哪个版本号? –