如何在IPython Notebook中设置matplotlib图形的默认大小?

132
我使用"$ipython notebook --pylab inline"来启动IPython笔记本。 对于我来说,显示的matplotlib图形尺寸太大了,我必须手动调整。 如何设置在单元格中显示的图形的默认大小?
8个回答

156

对我来说起了不错的作用:

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

26
我不知道这个短语是否通顺,但我调整了它以使我的Jupyter笔记本正常工作: import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['figure.figsize'] = (20.0, 10.0) - brycemcd
10
还有一行代码 plt.rc('figure', figsize=(20.0, 10.0))。该代码用于设置绘图的大小,宽度为20,高度为10。 - joelostblom
3
有些奇怪,但经过某个更新后我需要将 %matplotlib inlineplt.rc(...) 分别放在不同的代码框中才能让后者正常工作。同样适用于 matplotlib.rcParams[...] - uranix
3
请确保此行代码在 %matplotlib inline 之后。 - Rishabh Agrahari

134

我相信以下方法适用于版本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)

6
在IPython 2.0中,配置文件位于 .ipython/profile_default/ipython_notebook_config.py。 - Fabian Pedregosa
1
在旧版本的iPython中,ipython_notebook_config.py文件中没有配置内联后端的行。由于在更新iPython时配置文件不会自动更新(至少在Windows上),因此您需要按照@anmol的建议删除它并通过运行ipython profile create来生成新的配置文件。 - Puggie
1
您可以使用 ipython profile locate 命令来查找现有的配置文件。 - j08lue
24
如果你使用的是matplotlib而不是pyplot,那么交互命令是matplotlib.rcParams['figure.figsize'] = (10.0, 8.0) - Luke
我正在使用带有python-ipykernel 4.5.2-3和ipython 5.3.0-1的jupyter 4.1.0-6(它们都在Arch上),并且我的~下没有名为ipython_notebook_config.py的文件。任何想法最近版本中可能发生了什么变化? - Pastafarianist
如果您正在使用Jupyter Notebook,请更新~/.ipython/profile_default/ipython_kernel_config.py而不是~/.ipython/profile_default/ipython_notebook_config.py - E.K.

21
如果你没有这个ipython_notebook_config.py文件,你可以通过按照自述文件并输入相关命令来创建一个。
ipython profile create

21

为了完整起见,这也是有效的

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

这是一个围绕着rcParams解决方案的包装器


对于具有多个图形的大型笔记本非常重要,而且运行得非常好。 - CATALUNA84

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

8
plt.rcParams['figure.figsize'] = (15, 5)

1
你可以使用 "运行命令" rc 来更改默认图形大小:
plt.rc('figure', figsize=(w,h))

0
所以,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"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接