Wie man IPython Notebook matplotlib inline plant


Answers

Wenn Ihre Matplotlib-Version über 1,4 liegt, ist es auch möglich, sie zu verwenden

IPython 3.x und höher

%matplotlib notebook

import matplotlib.pyplot as plt

ältere Versionen

%matplotlib nbagg

import matplotlib.pyplot as plt

Beide aktivieren das nbagg-Backend , das Interaktivität ermöglicht.

Question

Ich versuche IPython Notebook auf MacOS X mit Python 2.7.2 und IPython 1.1.0 zu verwenden.

Ich kann keine Matplotlib-Grafiken erhalten, die inline angezeigt werden.

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline  

Ich habe auch %pylab inline und die ipython-Kommandozeilenargumente --pylab=inline aber das macht keinen Unterschied.

x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp')
plt.show()

Anstelle von Inline-Grafiken bekomme ich Folgendes:

<matplotlib.figure.Figure at 0x110b9c450>

Und matplotlib.get_backend() zeigt, dass ich das Backend 'module://IPython.kernel.zmq.pylab.backend_inline' .







Sie können dieses Problem mit einem Syntaxfehler simulieren. %matplotlib inline das Problem jedoch nicht.

Zuerst ein Beispiel für den richtigen Weg, um ein Diagramm zu erstellen. Alles funktioniert wie erwartet mit den Importen und der Magie, die liefert.

df_randNumbers1 = pd.DataFrame(np.random.randint(0,100,size=(100, 6)), columns=list('ABCDEF'))

df_randNumbers1.ix[:,["A","B"]].plot.kde()

Wenn Sie jedoch das Zeichen () am Ende des Diagrammtyps belassen, erhalten Sie einen etwas mehrdeutigen Nichtfehler.

Fehlerhafter Code:

df_randNumbers1.ix[:,["A","B"]].plot.kde

Beispielfehler:

<bound method FramePlotMethods.kde of <pandas.tools.plotting.FramePlotMethods object at 0x000001DDAF029588>>

Abgesehen von dieser Ein-Zeilen-Nachricht gibt es keinen Stapel-Trace oder einen anderen offensichtlichen Grund zu denken, dass Sie einen Syntaxfehler gemacht haben. Die Grafik wird nicht gedruckt.




Ich bin nicht sicher, warum Joaquin seine Antwort als Kommentar geschrieben hat, aber es ist die richtige Antwort:

starte ipython mit ipython notebook --pylab inline

Edit: Ok, das ist jetzt veraltet wie im Kommentar unten. Verwende die Magie von% pylab.




Unter Ubuntu können Sie %matplotlib inline entfernen, solange Sie plt.show() nach der Erstellung des Graphen haben.






Related