Bagaimana cara mengatur ukuran default gambar matplotlib di notebook ipython?

104

Saya menggunakan "$ ipython notebook --pylab inline" untuk memulai notebook ipython. Ukuran gambar matplotlib layar terlalu besar untuk saya, dan saya harus menyesuaikannya secara manual. Bagaimana cara mengatur ukuran default untuk gambar yang ditampilkan di sel?

bigbug
sumber

Jawaban:

123

Saya yakin pekerjaan berikut dalam versi 0.11 dan di atasnya. Untuk memeriksa versi:

$ ipython --version

Mungkin ada baiknya menambahkan informasi ini ke pertanyaan Anda.

Larutan:

Anda perlu menemukan file tersebut ipython_notebook_config.py. Bergantung pada proses instalasi Anda, ini harus berada di suatu tempat seperti

.config/ipython/profile_default/ipython_notebook_config.py

di mana .configada di direktori home Anda.

Setelah Anda menemukan file ini, temukan baris berikut

# 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'}

Batalkan komentar pada baris ini c.InlineBack...dan tentukan figsize default Anda di entri kamus kedua.

Perhatikan bahwa ini dapat dilakukan dalam skrip python (dan karenanya secara interaktif dalam IPython) menggunakan

pylab.rcParams['figure.figsize'] = (10.0, 8.0)
Greg
sumber
6
Di ipython 2.0, file konfigurasi ada di .ipython / profile_default / ipython_notebook_config.py
Fabian Pedregosa
1
Di versi lama iPython, ipython_notebook_config.pytidak berisi baris untuk mengkonfigurasi backend sebaris. Karena file konfigurasi tidak diperbarui secara otomatis saat Anda memperbarui iPython (setidaknya di Windows), Anda perlu menghapusnya dan membuat file konfigurasi baru dengan menjalankan ipython profile createseperti yang disarankan oleh @anmol di bawah ini.
Puggie
1
Anda dapat menemukan profil yang ada dengan ipython profile locate.
j08lue
22
Dan jika Anda menggunakan matplotlib dan bukan pyplot, perintah interaktifnya adalah matplotlib.rcParams['figure.figsize'] = (10.0, 8.0)
Luke
Saya menggunakan jupyter 4.1.0-6 dengan python-ipykernel 4.5.2-3 dan ipython 5.3.0-1 (semuanya di Arch) dan saya tidak memiliki file berjudul di ipython_notebook_config.pybawah file ~. Tahu bagaimana hal-hal dapat berubah di versi terbaru?
Pastafarianist
111

Bekerja menyukai pesona bagi saya:

matplotlib.rcParams['figure.figsize'] = (20.0, 10.0)
Subspasial
sumber
17
Saya tidak tahu betapa idiomatisnya ini, tetapi saya menyesuaikan ini untuk notebook jupyter saya agar berfungsi:import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['figure.figsize'] = (20.0, 10.0)
brycemcd
8
Ada jugaplt.rc('figure', figsize=(20.0, 10.0))
joelostblom
2
Cukup aneh, tetapi setelah beberapa pembaruan saya perlu membagi %matplotlib inlinedan plt.rc(...)melintasi sel yang berbeda agar yang terakhir berfungsi. Hal yang sama berlaku untukmatplotlib.rcParams[...]
uranix
3
Juga pastikan jalur ini setelah%matplotlib inline
Rishabh Agrahari
17

Jika Anda tidak memiliki file ipython_notebook_config.py ini, Anda dapat membuatnya dengan mengikuti readme dan mengetik

ipython profile create
anmol
sumber
16

Hanya untuk kelengkapan, ini juga berhasil

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

Ini adalah pembungkus rcParamssolusinya

gsmafra.dll
sumber
Penting untuk notebook besar dengan banyak plot, dan berfungsi seperti pesona
CATALUNA84
8

Di iPython 3.0.0, backend inline perlu dikonfigurasi di ipython_kernel_config.py. Anda perlu menambahkan c.InlineBackend.rcbaris ... secara manual (seperti yang disebutkan dalam jawaban Greg ). Ini akan memengaruhi backend inline di konsol Qt dan notebook.

Puggie
sumber
0
plt.rcParams['figure.figsize'] = (15, 5)
Thomas G.
sumber