How to set the matplotlib figure default size in ipython notebook?

Question:

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?

Asked By: bigbug

||

Answers:

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)
Answered By: Greg

If you don’t have this ipython_notebook_config.py file, you can create one by following the readme and typing

ipython profile create
Answered By: anmol

In iPython 3.0.0, the inline backend needs to be configured in ipython_kernel_config.py. You need to manually add the c.InlineBackend.rc… line (as mentioned in Greg‘s answer). This will affect both the inline backend in the Qt console and the notebook.

Answered By: Puggie

Worked liked a charm for me:

matplotlib.rcParams['figure.figsize'] = (20, 10)
Answered By: Subspacian

Just for completeness, this also works

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

It is a wrapper aroung the rcParams solution

Answered By: gsmafra
plt.rcParams['figure.figsize'] = (15, 5)
Answered By: Tomas G.

You can use "run commands" rc to change the default figure size:

plt.rc('figure', figsize=(w,h))
Answered By: iacob

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"
Answered By: lovasoa