如何在 ipython 笔记本中设置 matplotlib 图形默认大小?
Posted
技术标签:
【中文标题】如何在 ipython 笔记本中设置 matplotlib 图形默认大小?【英文标题】:How to set the matplotlib figure default size in ipython notebook? 【发布时间】:2013-06-18 07:44:33 【问题描述】:我使用“$ipython notebook --pylab inline”来启动ipython notebook。显示 matplotlib 图形大小对我来说太大了,我必须手动调整它。如何设置单元格中显示的图形的默认大小?
【问题讨论】:
【参考方案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 inline
plt.rcParams['figure.figsize'] = (20.0, 10.0)
还有plt.rc('figure', figsize=(20.0, 10.0))
很奇怪,但经过一些更新后,我需要将 %matplotlib inline
和 plt.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"
【讨论】:
以上是关于如何在 ipython 笔记本中设置 matplotlib 图形默认大小?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Apache Beam 在 GCP DataflowRunner 上没有名为“IPython”的模块
ipython notebook pandas max 允许的列数