Làm cách nào để làm cho các ô nội tuyến trong Jupyter Notebook lớn hơn?


263

Tôi đã thực hiện các âm mưu của mình trên dòng Ipython Notebook bằng " %matplotlib inline."

Bây giờ, cốt truyện xuất hiện. Tuy nhiên, nó rất nhỏ. Có cách nào để làm cho nó xuất hiện lớn hơn bằng cách sử dụng cài đặt sổ ghi chép hoặc cài đặt cốt truyện không?

nhập mô tả hình ảnh ở đây

Câu trả lời:


172

Có, chơi với figuresizenhư vậy (trước khi bạn gọi subplot của bạn):

fig=plt.figure(figsize=(18, 16), dpi= 80, facecolor='w', edgecolor='k')

28
f, (ax1, ax2, ax3) = plt.subplots (1,3, sharex = 'col', sharey = 'row', figsize = (18, 16)) cho trường hợp cụ thể này
Rol

12
Không hoạt động. Thay đổi figsize trong trường hợp của tôi chỉ thay đổi tỷ lệ khung hình. Chiều rộng của tổng số vẫn được cố định
Femins của Mitchsejs

Điều đó đúng với số lượng quá lớn để vừa trên trang, sau đó tỷ lệ dừng lại. Nó vẫn có thể hữu ích cho việc thay đổi tỷ lệ khung hình như bạn đã lưu ý.
roadrunner66

1
Tăng dpi lên '200' cung cấp kết quả tốt hơn nhiều so với việc chỉ thay đổi kích thước hình.
Adithya Bhat

Vâng, xem @Hagne dưới đây.
roadrunner66

403

Kích thước hình mặc định (tính bằng inch) được kiểm soát bởi

matplotlib.rcParams['figure.figsize'] = [width, height]

Ví dụ:

import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = [10, 5]

tạo một hình với 10 (chiều rộng) x 5 (chiều cao) inch


7
Điều này thực sự hữu ích hơn nhiều khi là một chiến lược tập hợp và quên nó nếu tất cả các âm mưu của một người đều bị bỏ lỡ.
ijoseph

2
Tuyệt quá. Đấu tranh với kích thước boxplot gấu trúc và điều này đã sửa nó. Đối với một số lý do, figsize=(x,y)đối số là không hiệu quả trong jupyter. Tuy nhiên, sửa đổi matplob.rcParams, như bạn đề xuất, hoạt động hoàn hảo.
0_0

29
Hãy chắc chắn rằng bạn chạy nó sau khi chạy %matplotlib inline.
uut

@uut đây không phải là mặc định?
Verena Haunschmid

4
@VerenaHaunschmid chạy %matplotlib inlinesau khi cài đặt RCParams dường như ghi đè kích thước hình trở về mặc định.
UUT

63

Tôi đã tìm thấy nó %matplotlib notebookhoạt động tốt hơn cho tôi so với nội tuyến với máy tính xách tay Jupyter.

Lưu ý rằng bạn có thể cần phải khởi động lại kernel nếu bạn đang sử dụng %matplotlib inlinetrước đó.

Cập nhật 2019: Nếu bạn đang chạy Jupyter Lab, bạn có thể muốn sử dụng %matplotlib widget


5
Có thể điều này hoạt động trong một số trường hợp nhưng khi tôi thử nó, tôi đã cho tôi một hình ảnh trống với khung dữ liệu gấu trúc df.plot(). Tôi phải quay lại%matplotlib inline
tsando

8
@tsando Tôi đã thấy một vấn đề mà chuyển từ %matplotlib inlinetới %matplotlib notebookmà không cần khởi động lại kernel đưa ra một sản lượng trống. Chuyển từ %matplotlib notebookđể %matplotlib inlinecông trình tốt.
SlimCheney

4
Cảm ơn @SlimCheney, tôi xác nhận những gì bạn nói là đúng - nó hoạt động nếu bạn khởi động lại kernel
tsando

1
Điều này chắc chắn nhịp đập khi cố gắng thiết lập các thành phần xoay và thu phóng bằng tay
beldaz

1
nó không hoạt động, ngay cả sau khi khởi động lại kernel. Nó cung cấp một đầu ra trống
Kardi Teknomo

31

Nếu bạn chỉ muốn hình ảnh của hình của bạn xuất hiện lớn hơn mà không thay đổi diện mạo chung của hình của bạn thì hãy tăng độ phân giải hình. Thay đổi kích thước hình như được đề xuất trong hầu hết các câu trả lời khác sẽ thay đổi diện mạo do kích thước phông chữ không theo tỷ lệ tương ứng.

import matplotlib.pylab as plt
plt.rcParams['figure.dpi'] = 200

19

Câu hỏi là về matplotlib, nhưng vì lợi ích của bất kỳ người dùng R nào kết thúc ở đây với tiêu đề không biết ngôn ngữ:

Nếu bạn đang sử dụng kernel R, chỉ cần sử dụng:

options(repr.plot.width=4, repr.plot.height=3)

11

Để điều chỉnh kích thước của một hình:

import matplotlib.pyplot as plt

fig=plt.figure(figsize=(15, 15))

Để thay đổi cài đặt mặc định và do đó, tất cả các lô của bạn:

import matplotlib.pyplot as plt

plt.rcParams['figure.figsize'] = [15, 15]

1

Một chi tiết nhỏ nhưng quan trọng để điều chỉnh kích thước hình trên cơ sở một lần (như một số nhà bình luận ở trên đã báo cáo "điều này không phù hợp với tôi"):

Bạn nên thực hiện plt.figure (figsize = (,)) PRIOR để xác định cốt truyện thực tế của bạn. Ví dụ:

Điều này sẽ kích thước chính xác cốt truyện theo figsize được chỉ định của bạn:

values = [1,1,1,2,2,3]
_ = plt.figure(figsize=(10,6))
_ = plt.hist(values,bins=3)
plt.show()

Trong khi điều này sẽ hiển thị cốt truyện với các cài đặt mặc định, dường như "bỏ qua" figsize:

values = [1,1,1,2,2,3]
_ = plt.hist(values,bins=3)
_ = plt.figure(figsize=(10,6))
plt.show()
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.