2014-01-30 4 views
9

Ich bin neu in Python Scientific Computing, und ich habe versucht, eine einfache Grafik auf IPython Notebook zu machen.plot() funktioniert nicht auf IPython Notebook

import pandas 
plot(arange(10)) 

Dann Fehler wie unten gezeigt.

--------------------------------------------------------------------------- 
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 

Stattdessen, mit IPython --pylab-Modus, erschien ein rechtes Diagramm, wenn ich den gleichen Code ausprobierte.

Fehle ich irgendeine Umgebung?

Meine Umgebung ist Mac OSX 10.8.5, Python 2.7.5, IPython 1.1.0, Matplotlib 1.3.1 und Pandas 0.12.0. Ich habe Python Scientific Environment von Anaconda Installer von continuum.io heruntergeladen. Anaconda Version ist die neueste Version vom 30.01.2014.

+0

Beispiel Plotten [hier] (http://pandas.pydata.org/pandas-docs/dev/visualization.html#plotting-with-matplotlib) –

Antwort

16

Es ist nicht ratsam, den Modus pylab zu verwenden. Siehe folgende post von Matthias Bussonnier

Eine Zusammenfassung von dieser Stelle:

Warum nicht pylab Flag zu verwenden:

  1. Es ist irreversible- nicht
  2. Unclear-, wenn jemand anderes nicht ausgeführt unimport Kann mit dieser Flagge (oder mit einer anderen Einstellung) was würde passieren?
  3. verpestet die Namespace
  4. Ersetzt Einbauten
  5. Nebenwirkungen

Sie sind viel besser durch die folgenden in Ihrem IPython Notebook zu tun.

 
%matplotlib inline 

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

Im Folgenden ist der Code, der --pylab in den Namensraum

 
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 * 

Dennoch, wenn Sie Inline-pylab und haben Plots verwenden möchten bringt, können Sie eine der folgenden Aktionen ausführen:

von Shell:

 
$ ipython notebook --pylab inline 

Oder aus Ihrem Notebook

 
%pylab inline 
+0

'% matplotlib Inline gibt mir einen 'ERROR: Magic-Funktion matplotlib nicht gefunden', sowohl in 'ipython qtconsole' als auch 'ipython notebook'. –

+0

Überprüfen Sie das folgende Problem: https://github.com/ContinuumIO/anaconda-issues/issues/12 –

+0

Sollte funktionieren, wenn die IPython-Version 1+ ist. Wenn Sie einfach ipython auf Ihrer Shell ausführen - welche Versionsnummer wird angezeigt? –