di notebook Ipython / Jupyter, Panda tidak menampilkan grafik yang saya coba plot

104

Saya mencoba memplot beberapa data menggunakan panda di Ipython Notebook, dan meskipun ia memberi saya objek, ia sebenarnya tidak memplot grafik itu sendiri. Jadi terlihat seperti ini:

In [7]:

pledge.Amount.plot()

Out[7]:

<matplotlib.axes.AxesSubplot at 0x9397c6c>

Grafik harus mengikuti setelah itu, tetapi itu tidak muncul. Saya telah mengimpor matplotlib, jadi bukan itu masalahnya. Apakah ada modul lain yang perlu saya impor?

chrisfs
sumber
Saya bisa membuat plot beberapa hari yang lalu, saat mengikuti video, tapi sekarang sepertinya saya tidak bisa plot apapun. dan sepertinya saya melakukan hal yang sama dengan dokumentasi. pandas.pydata.org/pandas-docs/stable/visualization.html Jadi saya pikir ada sesuatu dengan sistem saya yang salah atau ada modul yang tidak diimpor
chrisfs
@rises ada jawaban baru yang benar. Yang Anda pilih beberapa tahun lalu sekarang salah. Apakah Anda akan mempertimbangkan untuk mengubah jawaban yang Anda terima? Terima kasih.
tumultous_rooster

Jawaban:

177

Perhatikan bahwa --pylab tidak digunakan lagi dan telah dihapus dari build IPython yang lebih baru, Cara yang disarankan untuk mengaktifkan inline plotting di Notebook IPython sekarang adalah dengan menjalankan:

%matplotlib inline
import matplotlib.pyplot as plt

Lihat posting ini dari milis ipython-dev untuk lebih jelasnya.

Tal Yarkoni
sumber
2
Baik sekali. Setelah menggunakan %matplotlib inlinepercobaan saya untuk plot menghasilkan gambar yang terlihat sebaris, bagus. Padahal, impor tidak diperlukan jika plotnya adalah metode objek yang sudah ada seperti di OP.
Jan Vlcinsky
2
Ini adalah jawaban baru yang benar. Info lebih lanjut di posting blog ini .
Scott Lowrey
@Tal Yarkoni Saya menambahkan baris pertama dari jawaban Anda sehingga berhasil. terima kasih ~~!
verystrongjoe
Juga berlaku untuk panda di notebook Jupyter.
datalifenyc
Demi kelengkapan, %matplotlib nbaggberguna hari ini untuk mendapatkan versi yang lebih interaktif.
Frederick Nord
50

Edit: Pylab sudah tidak digunakan lagi, silakan lihat jawaban yang diterima saat ini

Oke, sepertinya jawabannya adalah memulai notebook ipython dengan --pylab = inline. jadi ipython notebook --pylab = inline Ini telah melakukan apa yang saya lihat sebelumnya dan apa yang saya ingin lakukan. Maaf tentang pertanyaan asli yang tidak jelas.

chrisfs
sumber
26
Ya, itulah yang Anda butuhkan. Anda juga dapat menjalankan %pylab inlinedi dalam notebook untuk mengaktifkan mode pylab.
Thomas K
3
perhatikan bahwa itu tidak harus dalam mode sebaris agar panda dapat bekerja. Saya dengan senang hati menggunakan hanya ipython notebook --pylabdengan panda untuk memiliki plot di jendela ekstra, jika itu yang diinginkan seseorang.
K.-Michael Aye
26

Dengan Anda import matplotlib.pyplot as pltbaru menambahkan

plt.show()

dan itu akan menampilkan semua plot yang disimpan.

eumiro
sumber
1
ok itu membantu. Saya pikir Ipython akan melakukan plot inline secara otomatis. Dokumentasi untuk panda juga tidak menunjukkan keharusan melakukan plt.show () pandas.pydata.org/pandas-docs/stable/visualization.html
chrisfs
4

sederhana setelah mengimpor matplotlib Anda telah menjalankan satu keajaiban jika Anda telah memulai ipython seperti ini

ipython notebook 

%matplotlib inline 

jalankan perintah ini semuanya akan ditampilkan dengan sempurna

Ankanna
sumber
1

mulai ipython dengan ipython notebook --pylab inline, lalu grafik akan ditampilkan sebaris.

pigletfly
sumber
Ya, itu adalah jawaban pertama atas pertanyaan ini, tetapi sepertinya sekarang juga sudah usang.
chrisfs
-2
import matplotlib as plt
%matplotlib as inline
TrilochanYadav
sumber
-5

Yang perlu Anda lakukan hanyalah mengimpor matplotlib.

import matplotlib.pyplot as plt 
pikiran penasaran
sumber
I have imported matplotlib
WoodChopper
hmmm itu aneh. apa yang kamu gunakan? Saya menggunakan Notebook iPython. kode saya di bawah ini. data.plot (kind = 'barh', stacked = True)
pikiran penasaran
Jawaban ini adalah pengulangan dari jawaban yang diterima di atas.
chrisfs