plot()在IPython笔记本上不起作用

时间:2014-01-30 13:14:39

标签: python matplotlib ipython ipython-notebook

我是python科学计算的新手,我试图在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。我从Continum.io下载了Anaconda安装程序的python科学环境。 Anaconda版本是截至2014年1月30日的最新版本。

1 个答案:

答案 0 :(得分:16)

不建议使用pylab模式。请参阅post

中的以下Matthias Bussonnier

该帖子摘要:

为什么不使用pylab标志:

  1. 这是不可逆转的 - 不能不加入任何
  2. 不清楚 - 如果其他人没有使用此标志(或使用不同的设置)会发生什么情况?
  3. 污染命名空间
  4. 取代内置插件
  5. 副作用
  6. 在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并绘制内联图,则可以执行以下任一操作:

    来自shell:

    $ ipython notebook --pylab inline
    

    或者,从您的笔记本中

    %pylab inline