通过在Jupyter中内联重置Jupyter中的Matplotlib图形大小

mar*_*tin 5 python plot matplotlib jupyter

这个问题更像是一种好奇心.

要在matplotlib中将默认的图形大小更改为自定义图形,可以使用

from matplotlib import rcParams
from matplotlib import pyplot as plt
rcParams['figure.figsize'] = 15, 9
Run Code Online (Sandbox Code Playgroud)

之后,图形会显示所选尺寸.

现在,我发现了一些新的东西(从未发生过/现在才注意到):在Jupyter笔记本中,将matplotlib内联为

%matplotlib inline
Run Code Online (Sandbox Code Playgroud)

这显然会覆盖rcParams字典,恢复图形大小的默认值.因此,为了能够设置大小,我必须matplotlib 更改rcParams字典的值之前内联.

我使用的是Mac OS 10.11.6,matplotlib 1.5.1版,Python 2.7.10,Jupyter 4.1.

min*_*nrk 7

IPython的内联后端在初始化时设置了一些rcParams.这是可配置的,您可以使用自己的配置覆盖它:

# in ~/.ipython/ipython_config.py
c.InlineBackend.rc = {
    'figure.figsize': (15, 9)
}
Run Code Online (Sandbox Code Playgroud)

以上将替换内联后端设置的所有rcParams,并获得完全控制权.如果你已经有一个适合内联输出的matplotlib样式,你可以告诉后端留下一切:

c.InlineBackend.rc = {}
Run Code Online (Sandbox Code Playgroud)

如果您只想更改几个值,而不是覆盖整个事物,则可以使用字典.update方法:

c.InlineBackend.rc.update({'figure.figsize': (15, 9)})
Run Code Online (Sandbox Code Playgroud)

在未来,内联后端应该通过matplotlib的漂亮的新风格机制来做它的默认设置,这应该使它在尊重你的偏好和允许更容易的定制方面表现得更好.