2014-01-30 3 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. Я загрузил научную среду python установщиком Anaconda из continuum.io. Версия Anaconda - самая новая по состоянию на 1/30/2014.

+0

Plotting пример [здесь] (http://pandas.pydata.org/pandas-docs/dev/visualization.html#plotting-with-matplotlib) –

ответ

16

Не рекомендуется использовать режим pylab. Смотрите следующие post от Matthias 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+. Если вы просто запустите ipython на своей оболочке - какой номер версии он показывает? –

Смежные вопросы