Làm thế nào để đặt kích thước mặc định của hình matplotlib trong máy tính xách tay ipython?


104

Tôi sử dụng "$ ipython notebook --pylab inline" để bắt đầu ipython notebook. Kích thước hình matplotlib hiển thị quá lớn đối với tôi và tôi phải điều chỉnh nó bằng tay. Làm cách nào để đặt kích thước mặc định cho hình hiển thị trong ô?

Câu trả lời:


123

Tôi tin rằng công việc sau đây hoạt động trong phiên bản 0.11 trở lên. Để kiểm tra phiên bản:

$ ipython --version

Nó có thể có giá trị thêm thông tin này vào câu hỏi của bạn.

Giải pháp:

Bạn cần tìm tệp ipython_notebook_config.py. Tùy thuộc vào quá trình cài đặt của bạn, điều này sẽ ở đâu đó như

.config/ipython/profile_default/ipython_notebook_config.py

ở đâu .configtrong thư mục chính của bạn.

Khi bạn đã định vị tệp này, hãy tìm các dòng sau

# Subset of matplotlib rcParams that should be different for the inline backend.
# c.InlineBackend.rc = {'font.size': 10, 'figure.figsize': (6.0, 4.0), 'figure.facecolor': 'white', 'savefig.dpi': 72, 'figure.subplot.bottom': 0.125, 'figure.edgecolor': 'white'}

Bỏ ghi chú dòng này c.InlineBack...và xác định kích thước mặc định của bạn trong mục từ điển thứ hai.

Lưu ý rằng điều này có thể được thực hiện trong một tập lệnh python (và do đó tương tác trong IPython) bằng cách sử dụng

pylab.rcParams['figure.figsize'] = (10.0, 8.0)

6
Trong ipython 2.0, tệp cấu hình có dạng .ipython / profile_default / ipython_notebook_config.py
Fabian Pedregosa

1
Trong các phiên bản cũ hơn của iPython, ipython_notebook_config.pykhông chứa dòng để định cấu hình phần phụ trợ nội tuyến. Vì tệp cấu hình không được cập nhật tự động khi bạn cập nhật iPython (ít nhất là trên Windows), bạn cần xóa nó và tạo tệp cấu hình mới bằng cách chạy ipython profile createtheo đề xuất của @anmol bên dưới.
Puggie

1
Bạn có thể định vị hồ sơ hiện có với ipython profile locate.
j08lue

22
Và nếu bạn đang sử dụng matplotlib thay vì pyplot, thì lệnh tương tác là matplotlib.rcParams['figure.figsize'] = (10.0, 8.0)
Luke

Tôi đang sử dụng jupyter 4.1.0-6 với python-ipykernel 4.5.2-3 và ipython 5.3.0-1 (tất cả chúng trên Arch) và tôi không có tệp nào có tiêu đề ipython_notebook_config.pydưới của tôi ~. Bất kỳ ý tưởng nào về cách mọi thứ có thể đã thay đổi trong các phiên bản gần đây nhất?
Pastafarist

111

Làm việc như một cái duyên đối với tôi:

matplotlib.rcParams['figure.figsize'] = (20.0, 10.0)

17
Tôi không biết làm thế nào thành ngữ này là, nhưng tôi điều chỉnh này cho máy tính xách tay jupyter của tôi để làm cho nó làm việc:import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['figure.figsize'] = (20.0, 10.0)
brycemcd

8
Ngoài ra còn cóplt.rc('figure', figsize=(20.0, 10.0))
joelostblom

2
Khá kỳ lạ, nhưng sau một số cập nhật, tôi cần phải chia nhỏ %matplotlib inlineplt.rc(...)giữa các ô khác nhau để cái sau hoạt động. Điều tương tự cũng đúng vớimatplotlib.rcParams[...]
uranix

3
Ngoài ra hãy chắc chắn rằng dòng này là sau khi%matplotlib inline
Rishabh Agrahari

17

Nếu bạn không có tệp ipython_notebook_config.py này, bạn có thể tạo một tệp bằng cách làm theo readme và nhập

ipython profile create

16

Chỉ để hoàn thiện, điều này cũng hoạt động

from IPython.core.pylabtools import figsize
figsize(14, 7)

Nó là một trình bao bọc khơi dậy rcParamsgiải pháp


Quan trọng đối với một máy tính xách tay lớn với nhiều ô và hoạt động như một sự quyến rũ
CATALUNA84

8

Trong iPython 3.0.0, phần phụ trợ nội tuyến cần được định cấu hình ipython_kernel_config.py. Bạn cần thêm c.InlineBackend.rcdòng ... theo cách thủ công (như đã đề cập trong câu trả lời của Greg ). Điều này sẽ ảnh hưởng đến cả phần phụ trợ nội tuyến trong bảng điều khiển Qt và sổ ghi chép.


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.