在IPython Notebook中自动运行%matplotlib
每次启动IPython Notebook时,我运行的第一个命令是
%matplotlib inline
有什么方法来改变我的configuration文件,所以当我启动IPython时,它会自动在这种模式?
configuration方式
IPython具有configuration文件,位于~/.ipython/profile_*
。 默认configuration文件称为profile_default
。 在这个文件夹中有两个主要的configuration文件:
-
ipython_config.py
-
ipython_kernel_config
将matplotlib的内联选项添加到ipython_kernel_config.py
:
c = get_config() # ... Any other configurables you want to set c.InteractiveShellApp.matplotlib = "inline"
matplotlib与pylab
不鼓励使用%pylab
进行内联绘图。
它将各种各样的垃圾引入你的名字空间,你只是不需要。
另一方面, %matplotlib
在不插入名称空间的情况下进行内联绘图。 你需要做明确的调用来获取matplotlib和numpy导入。
import matplotlib.pyplot as plt import numpy as np
显然input你的import的小价格应该完全克服,因为你现在有可重复的代码。
我想你想要的可能是从命令行运行以下命令:
ipython notebook --matplotlib=inline
如果你不喜欢每次都在cmd行input,那么你可以创build一个别名为你做。
在您的ipython_config.py
文件中,search以下行
# c.InteractiveShellApp.matplotlib = None
和
# c.InteractiveShellApp.pylab = None
并取消注释。 然后,将None
更改为您正在使用的后端(我使用'qt4'
)并保存该文件。 重新启动IPython,并且应该加载matplotlib和pylab – 您可以使用dir()
命令来validation哪些模块位于全局名称空间中。
在(当前)IPython 3.2.0(Python 2或3)
打开隐藏文件夹.ipython中的configuration文件
~/.ipython/profile_default/ipython_kernel_config.py
添加以下行
c.IPKernelApp.matplotlib = 'inline'
直接添加它
c = get_config()
除了@Kyle Kelley和@DGrady之外,这里还有可以find的入口
$HOME/.ipython/profile_default/ipython_kernel_config.py
(或者你创build的configuration文件)
更改
# Configure matplotlib for interactive use with the default matplotlib backend. # c.IPKernelApp.matplotlib = none
至
# Configure matplotlib for interactive use with the default matplotlib backend. c.IPKernelApp.matplotlib = 'inline'
这将在ipython qtconsole和笔记本电脑会话中工作。