我使用"$ipython notebook --pylab inline"来启动IPython笔记本。 对于我来说,显示的matplotlib图形尺寸太大了,我必须手动调整。 如何设置在单元格中显示的图形的默认大小?
对我来说起了不错的作用:
matplotlib.rcParams['figure.figsize'] = (20, 10)
我相信以下方法适用于版本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_notebook_config.py
文件中没有配置内联后端的行。由于在更新iPython时配置文件不会自动更新(至少在Windows上),因此您需要按照@anmol的建议删除它并通过运行ipython profile create
来生成新的配置文件。 - Puggieipython profile locate
命令来查找现有的配置文件。 - j08luematplotlib.rcParams['figure.figsize'] = (10.0, 8.0)
。 - Luke~
下没有名为ipython_notebook_config.py
的文件。任何想法最近版本中可能发生了什么变化? - Pastafarianist~/.ipython/profile_default/ipython_kernel_config.py
而不是~/.ipython/profile_default/ipython_notebook_config.py
。 - E.K.ipython profile create
为了完整起见,这也是有效的
from IPython.core.pylabtools import figsize
figsize(14, 7)
这是一个围绕着rcParams
解决方案的包装器
ipython_kernel_config.py
中进行配置。 您需要手动添加c.InlineBackend.rc
...行(如 Greg的答案中所述)。 这将影响Qt控制台和笔记本中的内联后端。plt.rcParams['figure.figsize'] = (15, 5)
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"
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['figure.figsize'] = (20.0, 10.0)
- brycemcdplt.rc('figure', figsize=(20.0, 10.0))
。该代码用于设置绘图的大小,宽度为20,高度为10。 - joelostblom%matplotlib inline
和plt.rc(...)
分别放在不同的代码框中才能让后者正常工作。同样适用于matplotlib.rcParams[...]
。 - uranix%matplotlib inline
之后。 - Rishabh Agrahari