如何使IPython笔记本matplotlib图内联
我试图在Python 2.7.2和IPython 1.1.0上使用MacOS X上的IPython笔记本。
我不能让matplotlibgraphics显示内联。
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()
而不是内联graphics,我得到这个:
<matplotlib.figure.Figure at 0x110b9c450>
而matplotlib.get_backend()
显示我有'module://IPython.kernel.zmq.pylab.backend_inline'
后端。
我在笔记本的第一个单元格中使用了%matplotlib inline
,它工作正常。 我认为你应该尝试:
%matplotlib inline import matplotlib import numpy as np import matplotlib.pyplot as plt
您也可以通过在configuration文件中设置以下configuration选项来默认以内联模式启动所有IPython内核:
c.IPKernelApp.matplotlib=<CaselessStrEnum> Default: None Choices: ['auto', 'gtk', 'gtk3', 'inline', 'nbagg', 'notebook', 'osx', 'qt', 'qt4', 'qt5', 'tk', 'wx'] Configure matplotlib for interactive use with the default matplotlib backend.
如果你的matplotlib版本高于1.4,也可以使用
IPython 3.x及以上版本
%matplotlib notebook import matplotlib.pyplot as plt
旧版本
%matplotlib nbagg import matplotlib.pyplot as plt
两者都将激活nbagg后端 ,从而实现交互性。
Ctrl + Enter
%matplotlib inline
魔术线:D
请参阅: 使用Matplotlib绘图 。
我不确定为什么华金张贴他的答案作为评论,但这是正确的答案:
用ipython notebook --pylab inline
启动ipython ipython notebook --pylab inline
编辑:好吧,这是现在不赞成下面的评论。 使用%pylab魔术。
在Jupyter(IPython 3)中默认内联matplotlib:
-
编辑文件
~/.ipython/profile_default/ipython_config.py
-
添加行
c.InteractiveShellApp.matplotlib = 'inline'
请注意,将此行添加到ipython_notebook_config.py
将不起作用。 否则,它与Jupyter和IPython 3.1.0一起工作良好
我不得不同意foobarbecue(我没有足够的recs才能够在他的post下插入评论):
现在推荐python笔记本没有用参数--pylab
启动,根据ipnthonnb的创build者Fernando Perez, %matplotlib inline
应该是最初的笔记本命令。
看到这里: http : //nbviewer.ipython.org/github/ipython/ipython/blob/1.x/examples/notebooks/Part%203%20-%20Plotting%20with%20Matplotlib.ipynb
我发现了一个相当令人满意的解决方法。 我安装了Anaconda Python ,现在这个工具对我来说是非常有用的。
我做了anaconda安装,但matplotlib不绘图
它开始阴谋当我这样做
import matplotlib import numpy as np import matplotlib.pyplot as plt %matplotlib inline
在Ubuntu上,只要在创buildgraphics之后有plt.show()
,就可以删除%matplotlib inline
。
你可以用一个语法错误模拟这个问题,然而, %matplotlib inline
不能解决这个问题。
首先是创build一个情节的正确方法的一个例子。 一切按预期与eNord9提供的import和魔法一起工作 。
df_randNumbers1 = pd.DataFrame(np.random.randint(0,100,size=(100, 6)), columns=list('ABCDEF')) df_randNumbers1.ix[:,["A","B"]].plot.kde()
但是,通过将()
closures到plottypes的末尾,您会收到一些含糊不清的非错误。
猥亵代码:
df_randNumbers1.ix[:,["A","B"]].plot.kde
示例错误:
<bound method FramePlotMethods.kde of <pandas.tools.plotting.FramePlotMethods object at 0x000001DDAF029588>>
除了这一行消息,没有堆栈跟踪或其他明显的理由认为你犯了一个语法错误。 情节不打印。