In Ipython Notebook / Jupyter zeigt Pandas das Diagramm, das ich zu zeichnen versuche, nicht an

104

Ich versuche, einige Daten mit Pandas in Ipython Notebook zu zeichnen, und obwohl es mir das Objekt gibt, zeichnet es das Diagramm selbst nicht. So sieht es aus:

In [7]:

pledge.Amount.plot()

Out[7]:

<matplotlib.axes.AxesSubplot at 0x9397c6c>

Das Diagramm sollte danach folgen, wird aber einfach nicht angezeigt. Ich habe matplotlib importiert, das ist also nicht das Problem. Gibt es ein anderes Modul, das ich importieren muss?

chrisfs
quelle
Ich konnte vor ein paar Tagen Dinge zeichnen, während ich einem Video folgte, aber jetzt kann ich scheinbar nichts mehr zeichnen. und ich mache anscheinend dasselbe wie die Dokumentation. pandas.pydata.org/pandas-docs/stable/visualization.html Ich glaube also, dass etwas mit meinem System nicht stimmt oder ein Modul nicht importiert wird
chrisfs
@chrisfs gibt es eine neuere richtige Antwort. Die, die Sie vor einigen Jahren ausgewählt haben, ist jetzt falsch. Denken Sie darüber nach, Ihre akzeptierte Antwort zu ändern? Vielen Dank.
tumultous_rooster

Antworten:

177

Beachten Sie, dass --pylab veraltet ist und aus neueren IPython-Builds entfernt wurde. Die empfohlene Methode zum Aktivieren des Inline-Plots im IPython-Notizbuch lautet nun:

%matplotlib inline
import matplotlib.pyplot as plt

Weitere Informationen finden Sie in diesem Beitrag aus der Mailingliste von ipython-dev.

Tal Yarkoni
quelle
2
Sehr gut. Nachdem %matplotlib inlineich meine Versuche zum Plotten verwendet hatte, ergab sich ein sichtbares Inline-Bild. Tatsächlich ist der Import nicht erforderlich, wenn der Plot eine Methode für bereits vorhandene Objekte wie in OP ist.
Jan Vlcinsky
2
Dies ist die neue richtige Antwort. Weitere Infos in diesem Blogbeitrag .
Scott Lowrey
@ Tal Yarkoni Ich habe die erste Zeile Ihrer Antwort hinzugefügt, damit es funktioniert. danke ~~!
Verystrongjoe
Gilt auch für Pandas im Jupyter-Notizbuch.
datalifenyc
Der Vollständigkeit halber %matplotlib nbaggist es heutzutage nützlich, eine interaktivere Version zu erhalten.
Frederick Nord
50

Bearbeiten: Pylab ist veraltet, siehe die aktuell akzeptierte Antwort

Ok, es scheint die Antwort zu sein, ipython notebook mit --pylab = inline zu starten. also ipython notebook --pylab = inline Dies lässt es tun, was ich zuvor gesehen habe und was ich wollte, dass es tut. Entschuldigung für die vage ursprüngliche Frage.

chrisfs
quelle
26
Ja, das ist was du brauchst. Sie können auch %pylab inlinein einem Notebook ausgeführt werden, um den Pylab-Modus zu aktivieren.
Thomas K
3
Beachten Sie, dass es nicht im Inline-Modus sein muss, damit Pandas funktionieren. Ich benutze gerne nur ipython notebook --pylabmit Pandas, um die Handlung in einem zusätzlichen Fenster zu haben, wenn es das ist, was jemand will.
K.-Michael Aye
26

Mit Ihrem import matplotlib.pyplot as plteinfach hinzufügen

plt.show()

und es werden alle gespeicherten Diagramme angezeigt.

Eumiro
quelle
1
ok das hilft Ich dachte, Ipython würde Inline-Plots automatisch erstellen. Die Dokumentation für Pandas zeigt auch nicht, dass plt.show () pandas.pydata.org/pandas-docs/stable/visualization.html
chrisfs
4

Einfach nach dem Importieren der Matplotlib haben Sie eine Magie ausgeführt, wenn Sie die Ipython so gestartet haben

ipython notebook 

%matplotlib inline 

Führen Sie diesen Befehl aus. Alles wird perfekt angezeigt

Ankanna
quelle
1

Starten Sie ipython mit ipython notebook --pylab inline, dann zeigt das Diagramm Inline.

Ferkelfliege
quelle
Ja, das war die erste Antwort auf diese Frage, aber sie scheint jetzt auch veraltet zu sein.
chrisfs
-2
import matplotlib as plt
%matplotlib as inline
TrilochanYadav
quelle
-5

Sie müssen lediglich matplotlib importieren .

import matplotlib.pyplot as plt 
der neugierige Geist
quelle
I have imported matplotlib
WoodChopper
hmmm das ist komisch was benutzt du? Ich benutze iPython Notebook. Mein Code unten. data.plot (kind = 'barh', gestapelt = True)
der neugierige Geist
Diese Antwort ist eine Wiederholung der oben akzeptierten Antwort.
chrisfs