我想学习如何使用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]
有没有办法设置内联后端的默认值?
答案 0 :(得分:17)
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 config 覆盖,因此空白字典会告诉IPython内核不要覆盖任何.matplotlibrc设置。
如果该文件不存在,请运行ipython profile create
进行创建。
答案 1 :(得分:1)
在顶部单元格中使用figsize(宽度,高度),它会改变以下图表的宽度
答案 2 :(得分:1)
至少在Windows上使用Jupyter,我能够使用类似于venkat的答案,即:
。%matplotlib inline
import matplotlib
matplotlib.rcParams['figure.figsize'] = (8, 8)
我这样做是为了勾勒出圆圈,这个圆圈已经相当于圆锥形了。看,平方圈并不难。 :)
答案 3 :(得分:1)
请注意,如果您从虚拟环境运行ipython_kernel_config.py
,则ipython
的路径会有所不同。在这种情况下,请在存储环境的路径中进行挖掘。
答案 4 :(得分:0)
对于使用IPython内核的jupyter 5.x及更高版本,您可以覆盖特定的密钥,并通过在您的figsize
中添加所需~/.ipython/profile_default/ipython_kernel_config.py
这样的内容来完成剩下的工作:
c = get_config()
c.InlineBackend.rc.update({"figure.figsize": (12, 10)})