W notatniku Ipython / Jupyter, Pandy nie wyświetlają wykresu, który próbuję wykreślić

104

Próbuję wykreślić niektóre dane za pomocą pand w Ipython Notebook i chociaż daje mi obiekt, w rzeczywistości nie wykreśla samego wykresu. A więc wygląda to tak:

In [7]:

pledge.Amount.plot()

Out[7]:

<matplotlib.axes.AxesSubplot at 0x9397c6c>

Po tym powinien nastąpić wykres, ale po prostu się nie pojawia. Zaimportowałem matplotlib, więc to nie jest problem. Czy jest jakiś inny moduł, który muszę zaimportować?

chrisfs
źródło
Kilka dni temu mogłem nakreślić pewne rzeczy, śledząc film, ale teraz nie mogę nic zrobić. i wydaje mi się, że robię to samo, co dokumentacja. pandas.pydata.org/pandas-docs/stable/visualization.html Myślę, że coś jest nie tak z moim systemem lub moduł nie jest zaimportowany
chrisfs
@chrisfs jest nowsza poprawna odpowiedź. Ten, który wybrałeś kilka lat temu, jest teraz nieprawidłowy. Czy rozważysz zmianę zaakceptowanej odpowiedzi? Dzięki.
tumultous_rooster

Odpowiedzi:

177

Zwróć uwagę, że opcja --pylab jest przestarzała i została usunięta z nowszych kompilacji IPython.Zalecany sposób włączenia drukowania w wierszu w notatniku IPython jest teraz do uruchomienia:

%matplotlib inline
import matplotlib.pyplot as plt

Zobacz ten post z listy mailingowej ipython-dev, aby uzyskać więcej informacji.

Tal Yarkoni
źródło
2
Bardzo dobrze. Po skorzystaniu z %matplotlib inlinemoich prób kreślenia zaowocowało widocznym obrazem inline, fajnie. W rzeczywistości import nie jest konieczny, jeśli wykres jest metodą już istniejącego obiektu, jak w OP.
Jan Vlcinsky
2
To jest nowa poprawna odpowiedź. Więcej informacji w tym poście na blogu .
Scott Lowrey
@Tal Yarkoni Dodałem pierwszą linię Twojej odpowiedzi, aby zadziałała. dzięki ~~!
verystrongjoe
Dotyczy również pand w notesie Jupyter.
datalifenyc
Ze względu na kompletność %matplotlib nbaggprzydatne jest obecnie uzyskanie bardziej interaktywnej wersji.
Frederick Nord
50

Edycja: Pylab został wycofany, zobacz aktualną zaakceptowaną odpowiedź

Ok, wydaje się, że odpowiedzią jest uruchomienie notatnika ipython z opcją --pylab = inline. więc ipython notebook --pylab = inline To robi to, co widziałem wcześniej i co chciałem. Przepraszamy za niejasne oryginalne pytanie.

chrisfs
źródło
26
Tak, tego potrzebujesz. Możesz także uruchomić %pylab inlinew notebooku, aby włączyć tryb pylab.
Thomas K
3
zauważ, że nie musi być w trybie inline, aby pandy działały. Z radością używam tylko ipython notebook --pylabz pandami, aby mieć działkę w dodatkowym oknie, jeśli ktoś tego chce.
K.-Michael Aye
26

Z import matplotlib.pyplot as pltJust Add

plt.show()

i pokaże wszystkie zapisane wykresy.

eumiro
źródło
1
ok, to pomaga. Myślałem, że Ipython automatycznie wykona wbudowane wykresy. Dokumentacja dla pand również nie pokazuje konieczności wykonania plt.show () pandas.pydata.org/pandas-docs/stable/visualization.html
chrisfs
4

proste po zaimportowaniu matplotlib musisz wykonać jedną magię, jeśli uruchomiłeś ipython w ten sposób

ipython notebook 

%matplotlib inline 

uruchom to polecenie, wszystko zostanie pokazane idealnie

Ankanna
źródło
1

zacznij ipythona od ipython notebook --pylab inline, wtedy wykres pokaże się w tekście .

prosiaczek
źródło
Tak, to była pierwsza odpowiedź na to pytanie, ale teraz wydaje się być przestarzała.
chrisfs
-2
import matplotlib as plt
%matplotlib as inline
TrilochanYadav
źródło
-5

Wszystko, co musisz zrobić, to zaimportować matplotlib.

import matplotlib.pyplot as plt 
ciekawy umysł
źródło
I have imported matplotlib
WoodChopper
hmmm to dziwne. czego używasz? Używam notebooka iPython. mój kod poniżej. data.plot (kind = 'barh', stacked = True)
ciekawy umysł
Ta odpowiedź jest powtórzeniem zaakceptowanej odpowiedzi powyżej.
chrisfs