ipython notebook --pylab inline: phóng to âm mưu


82

Có thể phóng to âm mưu nếu kích hoạt nội tuyến không? Đặc biệt liên quan đến việc xoay và thu phóng ô 3D là một tính năng cần thiết.

Câu trả lời:


90

Giờ đây, nhờ mpld3 , việc phóng to các ô nội tuyến trở nên cực kỳ dễ dàng!

Tất cả những gì bạn phải làm là cài đặt mpld3 ( pip install mpld3), sau đó thêm cái này vào sổ tay của bạn:

%matplotlib inline
import mpld3
mpld3.enable_notebook()

Bây giờ các lô của bạn sẽ nhận được một menu thanh công cụ ở dưới cùng bên trái, trong đó bạn có thể kích hoạt tính năng thu phóng chuột :)


Có vẻ như âm mưu 3D chưa được hỗ trợ: github.com/jakevdp/mpld3/issues/223
Théo T

3
Điều này là tuyệt vời, nhưng người ta nên nói thêm rằng với một số ô nhiệm vụ nặng hơn (ví dụ: ô chứa hàng triệu điểm), nó rất chậm.

2
Tôi đã thực hiện điều này trong Máy tính xách tay Jupyter 4.2.2 của mình và việc phóng to khiến hình vẽ trống. Thêm origin = 'low' làm đối số cho lệnh gọi imshow () đã khắc phục sự cố. (ví dụ imshow (res, origin = 'hạ', CMAP = cm.gray))
DanGoodrick

6
Không hiệu quả với tôi. Tôi đang nhậnJson serialization error
Gulzar

95

Bây giờ bạn có thể sử dụng %matplotlib notebookthay thế %matplotlib inlinevà bạn sẽ có thể tương tác với các âm mưu của mình.


1
Đây là một giải pháp tuyệt vời. Nếu bạn thử nó và nó không hoạt động, hãy kiểm tra phiên bản matplotlib của bạn. Tôi nghĩ điều này đã được giới thiệu trong phiên bản 1.5
jpobst

Không hoạt động tốt như tôi đã hy vọng với các âm mưu phụ; có thể thu phóng và xoay cho một ô con riêng lẻ nhưng không thể tăng / giảm kích thước của toàn bộ hình ảnh ô. Mà, công bằng mà nói, không phải là câu hỏi ban đầu được hỏi ở trên.
ijoseph

1
@ijoseph, bạn cũng có thể tăng kích thước của toàn bộ hình ảnh. Chỉ cần kéo góc dưới cùng bên phải của cốt truyện ..
João Abrantes

4
Bạn có thể cần khởi động lại sổ ghi chép của mình nếu bạn đã gọi% matplotlib inline
Guido

3
Tôi gặp lỗi "Lỗi Javascript: IPython không được xác định"
Ben

10

Hiện tại, cách gần nhất bạn có thể đến là vẽ lại nó ở kích thước lớn hơn bằng cách sử dụng figsizehàm. Nó mong đợi kích thước tính bằng inch, điều này đã làm tôi ngạc nhiên ngay lần đầu tiên tôi thử sử dụng nó.

Có một số nhà máy cho một chương trình phụ trợ phong phú sẽ cho phép các âm mưu được thao túng trực tiếp bằng cách sử dụng HTML5, nhưng tôi nghĩ sẽ mất vài tháng nữa trước khi nó sẵn sàng.

Nếu bạn đang sử dụng sổ ghi chép trên máy tính cục bộ của mình, hiện tại, tùy chọn dễ nhất có thể là không sử dụng chế độ nội tuyến, vì vậy các ô bật lên dưới dạng các cửa sổ riêng biệt.


1
Đúng vậy - với phiên bản gần đây của matplotlib, giờ đây bạn có thể chọn phần phụ trợ nbagg.
Thomas K

9

mpld3 làm chậm quá trình thực thi sổ ghi chép của tôi. Tôi thấy tốt hơn khi sử dụng chương trình phụ trợ nbagg cung cấp các công cụ tương tác tương tự nhưng cũng cho phép lưu đồ thị bằng menu nhấp chuột phải:

import matplotlib
matplotlib.use('nbagg')
import matplotlib.pyplot as plt

2
Tôi thành thật nghĩ rằng đây là câu trả lời tốt nhất, trông tốt hơn mpld3 và nhiều tính năng hơn.
bznein


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.