I use "$ipython notebook --pylab inline" to start the ipython notebook. The display matplotlib figure size is too big for me, and I have to adjust it manually. How to set the default size for the figure displayed in cell?
8 Answers
Worked liked a charm for me:
matplotlib.rcParams['figure.figsize'] = (20, 10)

- 91,433
- 48
- 218
- 260

- 2,017
- 1
- 15
- 6
-
26I don't know how idiomatic this is, but I adjusted this for my jupyter notebook to get it to work: `import matplotlib.pyplot as plt` `%matplotlib inline` `plt.rcParams['figure.figsize'] = (20.0, 10.0)` – brycemcd Aug 20 '16 at 18:33
-
10There is also `plt.rc('figure', figsize=(20.0, 10.0))` – joelostblom May 19 '17 at 14:45
-
3Quite weird, but after some update I need to split `%matplotlib inline` and `plt.rc(...)` across different cells for the latter to work. Same true for `matplotlib.rcParams[...]` – uranix May 21 '18 at 08:13
-
3Also make sure this line is after `%matplotlib inline` – Rishabh Agrahari Sep 26 '18 at 17:29
I believe the following work in version 0.11 and above. To check the version:
$ ipython --version
It may be worth adding this information to your question.
Solution:
You need to find the file ipython_notebook_config.py
. Depending on your installation process this should be in somewhere like
.config/ipython/profile_default/ipython_notebook_config.py
where .config
is in your home directory.
Once you have located this file find the following lines
# 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'}
Uncomment this line c.InlineBack...
and define your default figsize in the second dictionary entry.
Note that this could be done in a python script (and hence interactively in IPython) using
pylab.rcParams['figure.figsize'] = (10.0, 8.0)

- 11,654
- 3
- 44
- 50
-
6In ipython 2.0 the config file is in .ipython/profile_default/ipython_notebook_config.py – Fabian Pedregosa Apr 05 '14 at 06:18
-
1In older versions of iPython, `ipython_notebook_config.py` doesn't contain the line to configure the inline backend. Since the configuration file is not automatically updated when you update iPython (at least on Windows), you need to delete it and generate a new config file by running `ipython profile create` as suggested by @anmol below. – Puggie Jan 15 '15 at 11:26
-
1
-
24And if you're using matplotlib instead of pyplot, the interactive command is ```matplotlib.rcParams['figure.figsize'] = (10.0, 8.0)``` – Luke Jul 21 '15 at 21:38
-
I'm using jupyter 4.1.0-6 with python-ipykernel 4.5.2-3 and ipython 5.3.0-1 (all of them on Arch) and I have no file titled `ipython_notebook_config.py` under my `~`. Any idea how things may have changed in the most recent versions? – Pastafarianist Sep 25 '17 at 13:28
-
If you are using jupyter notebook, update `~/.ipython/profile_default/ipython_kernel_config.py` instead of `~.ipython/profile_default/ipython_notebook_config.py` – E.K. Feb 07 '18 at 15:27
If you don't have this ipython_notebook_config.py file, you can create one by following the readme and typing
ipython profile create

- 751
- 6
- 7
Just for completeness, this also works
from IPython.core.pylabtools import figsize
figsize(14, 7)
It is a wrapper aroung the rcParams
solution

- 2,434
- 18
- 26
-
Important for a large notebook with multiple plots, and works like a charm – CATALUNA84 May 05 '20 at 10:43
You can use "run commands" rc
to change the default figure size:
plt.rc('figure', figsize=(w,h))

- 20,084
- 6
- 92
- 119
So, a working solution on macos is
echo "
c.InlineBackend.rc = {
'font.size': 10,
'figure.figsize': (25.0, 5.0),
'figure.facecolor': 'white',
'savefig.dpi': 72,
'figure.subplot.bottom': 0.125,
'figure.edgecolor': 'white'
}
" >> "$(ipython locate profile)/ipython_kernel_config.py"

- 6,419
- 1
- 35
- 45