【问题标题】:How to set the matplotlib figure default size in ipython notebook?如何在 ipython 笔记本中设置 matplotlib 图形默认大小?
【发布时间】:2013-06-18 07:44:33
【问题描述】:

我使用“$ipython notebook --pylab inline”来启动ipython notebook。显示 matplotlib 图形大小对我来说太大了,我必须手动调整它。如何设置单元格中显示的图形的默认大小?

【问题讨论】:

    标签: python matplotlib jupyter-notebook


    【解决方案1】:

    我相信以下工作在 0.11 及更高版本中。检查版本:

    $ ipython --version
    

    可能值得将此信息添加到您的问题中。

    解决方案:

    您需要找到文件ipython_notebook_config.py。根据您的安装过程,这应该在类似的地方

    .config/ipython/profile_default/ipython_notebook_config.py
    

    .config 在您的主目录中。

    找到此文件后,找到以下行

    # 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'}
    

    取消注释这行 c.InlineBack... 并在第二个字典条目中定义您的默认 figsize。

    请注意,这可以使用

    在 python 脚本中完成(因此在 IPython 中以交互方式完成)
    pylab.rcParams['figure.figsize'] = (10.0, 8.0)
    

    【讨论】:

    • 在 ipython 2.0 中,配置文件位于 .ipython/profile_default/ipython_notebook_config.py
    • 在旧版本的 iPython 中,ipython_notebook_config.py 不包含配置内联后端的行。由于更新 iPython 时配置文件不会自动更新(至少在 Windows 上),因此您需要删除它并通过运行 ipython profile create 生成新的配置文件,如下面的@anmol 建议的那样。
    • 您可以使用ipython profile locate找到现有的个人资料。
    • 如果你使用 matplotlib 而不是 pyplot,交互命令是matplotlib.rcParams['figure.figsize'] = (10.0, 8.0)
    • 我正在使用 jupyter 4.1.0-6 和 python-ipykernel 4.5.2-3 和 ipython 5.3.0-1(它们都在 Arch 上)并且我没有标题为 ipython_notebook_config.py 的文件在我的~ 下。知道最新版本中发生了什么变化吗?
    【解决方案2】:

    如果您没有这个 ipython_notebook_config.py 文件,您可以按照自述文件并键入来创建一个

    ipython profile create
    

    【讨论】:

      【解决方案3】:

      在 iPython 3.0.0 中,需要在ipython_kernel_config.py 中配置内联后端。您需要手动添加 c.InlineBackend.rc... 行(如 Greg 的回答中所述)。这将影响 Qt 控制台和笔记本中的内联后端。

      【讨论】:

        【解决方案4】:

        工作对我来说很有吸引力:

        matplotlib.rcParams['figure.figsize'] = (20, 10)
        

        【讨论】:

        • 我不知道这是多么地道,但我为我的 jupyter 笔记本调整了它以使其工作:import matplotlib.pyplot as plt%matplotlib inlineplt.rcParams['figure.figsize'] = (20.0, 10.0)
        • 还有plt.rc('figure', figsize=(20.0, 10.0))
        • 很奇怪,但经过一些更新后,我需要将 %matplotlib inlineplt.rc(...) 拆分到不同的单元格中,以便后者工作。 matplotlib.rcParams[...] 也是如此
        • 还要确保这一行在%matplotlib inline之后
        【解决方案5】:

        为了完整起见,这也有效

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

        它是rcParams 解决方案的包装器

        【讨论】:

        • 对于具有多个情节的大型笔记本很重要,并且像魅力一样工作
        【解决方案6】:
        plt.rcParams['figure.figsize'] = (15, 5)
        

        【讨论】:

          【解决方案7】:

          您可以使用"run commands"rc更改默认图形大小:

          plt.rc('figure', figsize=(w,h))
          

          【讨论】:

            【解决方案8】:

            所以,在 macos 上一个可行的解决方案是

            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"
            

            【讨论】:

              猜你喜欢
              • 2016-02-24
              • 2014-07-16
              • 1970-01-01
              • 2013-10-24
              • 1970-01-01
              • 2015-05-19
              • 2013-10-16
              相关资源
              最近更新 更多