首页 文章

在jupyter笔记本中内联后端的matplotlib配置

提问于
浏览 62
12

我想学习如何使用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 回答

  • 13

    对于使用IPython内核的jupyter 5.x及更高版本,您可以覆盖特定的键,并通过放置这样的内容,在 ~/.ipython/profile_default/ipython_kernel_config.py 中使用您想要的 figsize 来保留其余内容:

    c = get_config()
    c.InlineBackend.rc.update({"figure.figsize": (12, 10)})
    
  • 1

    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 以创建它 .

  • 1

    在顶部单元格中使用figsize(宽度,高度),它会更改以下图表的宽度

  • 0

    至少在Windows上使用Jupyter,我能够使用与venkat的答案非常相似的东西,即:

    %matplotlib inline
    import matplotlib
    matplotlib.rcParams['figure.figsize'] = (8, 8)
    

    我这样做是为了确定圆圈的方向,这个圆圈已经相当于圆锥形 . 看,平方圈并不难 . :)

相关问题