我试图在MacOS X上使用Python 2.7.2和IPython 1.1.0上的IPython笔记本 .
我无法让matplotlib图形显示为内联 .
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
我也尝试了 %pylab inline
和ipython命令行参数 --pylab=inline
,但这没有区别 .
x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp')
plt.show()
而不是内联图形,我得到这个:
<matplotlib.figure.Figure at 0x110b9c450>
matplotlib.get_backend()
表明我有 'module://IPython.kernel.zmq.pylab.backend_inline'
后端 .
10 回答
我在笔记本的第一个单元格中使用
%matplotlib inline
并且它可以工作 . 我想你应该试试:通过在配置文件中设置以下配置选项,您也可以始终以内联模式启动所有IPython内核:
我做了anaconda安装,但matplotlib没有密谋
当我这样做时,它开始绘制
要在Jupyter(IPython 3)中默认使用matplotlib内联:
编辑文件
~/.ipython/profile_default/ipython_config.py
添加行
c.InteractiveShellApp.matplotlib = 'inline'
请注意,将此行添加到
ipython_notebook_config.py
将不起作用 . 否则它适用于Jupyter和IPython 3.1.0我不得不同意foobarbecue(我没有足够的记录,只能在他的帖子下插入评论):
它起源于
--pylab
,根据费尔南多·佩雷斯(ipythonnb的创造者)%matplotlib inline
应该是最初的笔记本命令 .看这里:http://nbviewer.ipython.org/github/ipython/ipython/blob/1.x/examples/notebooks/Part%203%20-%20Plotting%20with%20Matplotlib.ipynb
如果你的matplotlib版本高于1.4,它也可以使用
IPython 3.x及以上
旧版本
两者都将激活nbagg backend,从而实现交互性 .
我找到了一个非常令人满意的解决方法 . 我安装了Anaconda Python,这对我来说现在开箱即用 .
按Ctrl键
魔术线:D
见:Plotting with Matplotlib .
您可以使用语法错误来模拟此问题,但是,
%matplotlib inline
将无法解决此问题 .首先是创建绘图的正确方法的示例 . 所有东西都按照预期的方式使用eNord9提供的进口和魔法 .
但是,通过将
()
保留在绘图类型的末尾,您会收到一些有些模糊的非错误 .错误的代码:
示例错误:
除了这一行消息之外,没有堆栈跟踪或其他明显的理由认为您发生了语法错误 . 情节不打印 .
在Ubuntu上,只要在创建图形后有
plt.show()
,就可以删除%matplotlib inline
.我不确定为什么joaquin发表他的回答作为评论,但这是正确答案:
用
ipython notebook --pylab inline
启动ipython编辑:好的,现在根据以下评论不推荐使用此功能 . 使用%pylab魔术 .