我想学习如何使用jupyter笔记本中的内联后端配置matplotlib的默认值 . 具体来说,我想将默认的'figure.figsize'设置为[7.5,5.0]而不是默认的[6.0,4.0] . 我正在使用matplotlib 1.4.3在Mac上使用jupyter notebook 1.1 .
在笔记本中,使用macosx后端,我的matplotlibrc文件显示在标准位置,figsize按照matplotlibrc中的指定设置:
In [1]: %matplotlib
Using matplotlib backend: MacOSX
In [2]: mpl.matplotlib_fname()
Out[2]: u'/Users/scott/.matplotlib/matplotlibrc'
In [3]: matplotlib.rcParams['figure.figsize']
Out[3]:[7.5, 5.0]
但是,当我使用内联后端时,figsize设置不同:
In [1]: %matplotlib inline
In [2]: mpl.matplotlib_fname()
Out[2]: u'/Users/scott/.matplotlib/matplotlibrc'
In [3]: matplotlib.rcParams['figure.figsize']
Out[3]:[6.0, 4.0]
在我的笔记本配置文件〜/ .jupyter / jupyter_notebook_config.py中,我还添加了该行
c.InlineBackend.rc = {'figure.figsize': (7.5, 5.0) }
但这也没有效果 . 现在我被困在每个笔记本中添加这一行:
matplotlib.rcParams['figure.figsize']=[7.5, 5.0]
有没有办法设置内联后端的默认值?
4 回答
Jupyter / IPython分裂令人困惑 . Jupyter是内核的前端,其中IPython是事实上的Python内核 . 您正在尝试更改与matplotlib相关的内容,这仅在IPython内核的范围内有意义 . 在
~/.jupyter/jupyter_notebook_config.py
中对matplotlib进行更改将适用于所有可能没有意义的内核(在运行不使用matplotlib的Ruby / R / Bash / etc . 内核的情况下) . 因此,您的c.InlineBackend.rc
设置需要进入IPython内核的设置 .编辑文件
~/.ipython/profile_default/ipython_kernel_config.py
并添加到底部:c.InlineBackend.rc = { }
.由于
c.InlineBackend.rc
指定了matplotlib配置覆盖,因此空白dict告诉IPython内核不要覆盖任何.matplotlibrc设置 .如果该文件不存在,请运行
ipython profile create
以创建它 .在顶部单元格中使用figsize(宽度,高度),它会更改以下图表的宽度
至少在Windows上使用Jupyter,我能够使用与venkat的答案非常相似的东西,即:
我这样做是为了确定圆圈的方向,这个圆圈已经相当于圆锥形 . 看,平方圈并不难 . :)
对于使用IPython内核的jupyter 5.x及更高版本,您可以覆盖特定的键,并通过放置这样的内容,在
~/.ipython/profile_default/ipython_kernel_config.py
中使用您想要的figsize
来保留其余内容: