trong sổ tay Ipython / Jupyter, Pandas không hiển thị biểu đồ mà tôi cố gắng vẽ


104

Tôi đang cố gắng vẽ một số dữ liệu bằng cách sử dụng gấu trúc trong Ipython Notebook và trong khi nó cung cấp cho tôi đối tượng, nó không thực sự vẽ biểu đồ. Vì vậy, nó trông như thế này:

In [7]:

pledge.Amount.plot()

Out[7]:

<matplotlib.axes.AxesSubplot at 0x9397c6c>

Biểu đồ sẽ theo sau đó, nhưng nó chỉ đơn giản là không xuất hiện. Tôi đã nhập matplotlib, vì vậy đó không phải là vấn đề. Có bất kỳ mô-đun nào khác mà tôi cần nhập không?


Tôi đã có thể vẽ mọi thứ vài ngày trước, khi theo dõi một video, nhưng bây giờ tôi dường như không thể lập được bất cứ điều gì. và tôi dường như đang làm điều tương tự như tài liệu. pandas.pydata.org/pandas-docs/stable/visualization.html Vì vậy, tôi phát hiện ra điều gì đó với hệ thống của mình bị lỗi hoặc một mô-đun không được nhập
chrisfs

@chrisfs có một câu trả lời mới hơn đúng. Một trong những bạn đã chọn một vài năm trước đây bây giờ không chính xác. Bạn sẽ cân nhắc việc thay đổi câu trả lời được chấp nhận của mình chứ? Cảm ơn.
tumultous_rooster

Câu trả lời:


177

Lưu ý rằng --pylab không được dùng nữa và đã bị xóa khỏi các bản dựng mới hơn của IPython, Cách được đề xuất để bật tính năng vẽ nội tuyến trong IPython Notebook hiện là chạy:

%matplotlib inline
import matplotlib.pyplot as plt

Xem bài đăng này từ danh sách gửi thư ipython-dev để biết thêm chi tiết.


2
Rất tốt. Sau khi sử dụng %matplotlib inlinenhững nỗ lực của tôi để vẽ biểu đồ đã dẫn đến hình ảnh hiển thị nội tuyến, đẹp. Trên thực tế, việc nhập là không cần thiết nếu lô là phương thức của đối tượng đã tồn tại như trong OP.
Jan Vlcinsky

2
Đây là câu trả lời chính xác mới. Thêm thông tin trong bài đăng blog này .
Scott Lowrey

@Tal Yarkoni Tôi đã thêm dòng đầu tiên của câu trả lời của bạn để nó hoạt động. cảm ơn ~~!
verystrongjoe

Cũng áp dụng cho gấu trúc trong sổ ghi chép Jupyter.
datalifenyc 21/02/17

Vì lợi ích hoàn chỉnh, %matplotlib nbaggnhững ngày này rất hữu ích để có được một phiên bản tương tác hơn.
Frederick Nord

50

Chỉnh sửa: Pylab không còn được dùng nữa, vui lòng xem câu trả lời được chấp nhận hiện tại

Ok, Có vẻ như câu trả lời là bắt đầu sổ ghi chép ipython bằng --pylab = inline. so ipython notebook --pylab = inline Điều này có nó làm những gì tôi đã thấy trước đó và những gì tôi muốn nó làm. Xin lỗi về câu hỏi ban đầu mơ hồ.


26
Vâng, đó là những gì bạn cần. Bạn cũng có thể chạy %pylab inlinebên trong sổ ghi chép để bật chế độ pylab.
Thomas K

3
lưu ý rằng nó không phải ở chế độ nội tuyến để gấu trúc hoạt động. Tôi rất vui khi sử dụng chỉ ipython notebook --pylabvới gấu trúc để có cốt truyện trong một cửa sổ phụ, nếu đó là điều ai đó muốn.
K.-Michael Aye

26

Với import matplotlib.pyplot as pltchỉ thêm của bạn

plt.show()

và nó sẽ hiển thị tất cả các lô được lưu trữ.


1
được rồi. Tôi đã nghĩ Ipython sẽ tự động thực hiện các âm mưu nội tuyến. Tài liệu dành cho gấu trúc cũng không cho thấy phải thực hiện plt.show () pandas.pydata.org/pandas-docs/stable/visualization.html
chrisfs

4

đơn giản sau khi nhập matplotlib bạn đã thực hiện một phép thuật nếu bạn đã bắt đầu ipython như thế này

ipython notebook 

%matplotlib inline 

chạy lệnh này mọi thứ sẽ được hiển thị hoàn hảo


1

bắt đầu ipython với ipython notebook --pylab inline, sau đó biểu đồ sẽ hiển thị nội tuyến.


Có, đó là câu trả lời đầu tiên cho câu hỏi này, nhưng nó cũng có vẻ không được chấp nhận nữa.
chrisfs


-5

Tất cả những gì bạn cần làm là nhập matplotlib.

import matplotlib.pyplot as plt 

I have imported matplotlib
WoodChopper

hmmm thật kỳ lạ. bạn dùng gì? Tôi sử dụng iPython Notebook. mã của tôi bên dưới. data.plot (loại = 'Barh', xếp chồng lên nhau = True)
tâm tò mò

Câu trả lời này là sự lặp lại của câu trả lời được chấp nhận ở trên.
chrisfs
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.