相关疑难解决方法(0)

如何使IPython笔记本matplotlib内联

我试图在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  
Run Code Online (Sandbox Code Playgroud)

我也试过%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()
Run Code Online (Sandbox Code Playgroud)

而不是内联图形,我得到这个:

<matplotlib.figure.Figure at 0x110b9c450>
Run Code Online (Sandbox Code Playgroud)

matplotlib.get_backend()表明我有'module://IPython.kernel.zmq.pylab.backend_inline'后端.

python data-visualization matplotlib ipython jupyter-notebook

779
推荐指数
9
解决办法
102万
查看次数

Seaborn阴谋没有出现

我确定我忘记了一些非常简单的事情,但我无法获得与Seaborn合作的某些情节.

如果我做:

import seaborn as sns
Run Code Online (Sandbox Code Playgroud)

然后我像matplotlib一样创建的任何绘图都获得了Seaborn样式(背景中的灰色网格).

但是,如果我尝试做其中一个示例,例如:

In [1]: import seaborn as sns

In [2]: sns.set()

In [3]: df = sns.load_dataset('iris')

In [4]: sns.pairplot(df, hue='species', size=2.5)
Out[4]: <seaborn.axisgrid.PairGrid at 0x3e59150>
Run Code Online (Sandbox Code Playgroud)

pairplot函数返回一个PairGrid对象,但该图不显示.

我有点困惑,因为matplotlib似乎运行正常,Seaborn样式应用于其他matplotlib图,但Seaborn函数似乎没有做任何事情.有没有人知道可能是什么问题?

python matplotlib seaborn

165
推荐指数
5
解决办法
15万
查看次数

为内联Retina Matplotlib数据配置Jupyter笔记本

我想要的效果

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
%config InlineBackend.figure_format='retina'
Run Code Online (Sandbox Code Playgroud)

在推出我所有的Jupyter笔记本电脑时,我无法弄清楚当前的方法是什么来实现这一目标.这里和其他地方有很多答案,但我找不到任何答案似乎都是最新的.

我如何在当前版本的Jupyter笔记本中完成上述操作(但一般不是IPython!):我应该应用哪些设置应该放在哪个配置文件中?


我试过了

c.InteractiveShellApp.matplotlib = "inline"
c.InlineBackend.figure_formats = set(['retina'])
Run Code Online (Sandbox Code Playgroud)

~/.jupyter/jupyter_notebook_config.py
Run Code Online (Sandbox Code Playgroud)

但这没有效果.

matplotlib ipython python-2.7 retina-display jupyter-notebook

16
推荐指数
1
解决办法
4641
查看次数

ipython笔记本内联matplotlib升级到2.0后无法正常工作

我最近将ipython升级到2.0.0,无法使内联图工作.如果我试试

%pylab inline
plot([1,2],[1,2])
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

Populating the interactive namespace from numpy and matplotlib
[<matplotlib.lines.Line2D at 0x10ffcf080>]
/usr/local/lib/python3.4/site-packages/IPython/core/formatters.py:239: FormatterWarning: Exception in image/png formatter: _image_module::readpng:  png_create_read_struct failed
  FormatterWarning,
<matplotlib.figure.Figure at 0x10e77ca58>
Run Code Online (Sandbox Code Playgroud)

在控制台中,我有以下错误:

ERROR:tornado.application:Uncaught exception in /api/kernels/0a214dee-3143-4d34-89cb-9d65ce154fe6/shell
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/site-packages/tornado/websocket.py", line 322, in wrapper
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.4/site-packages/IPython/html/services/kernels/handlers.py", line 122, in on_message
    self.session.send(self.zmq_stream, msg)
  File "/usr/local/lib/python3.4/site-packages/IPython/kernel/zmq/session.py", line 646, in send
    stream.send_multipart(to_send, copy=copy)
AttributeError: 'NoneType' object has no attribute 'send_multipart'
Run Code Online (Sandbox Code Playgroud)

知道这里发生了什么吗?

编辑:我在python 3.4.0,ipython 2.0.0和matplotlib 1.3.1

matplotlib python-3.x ipython-notebook

5
推荐指数
1
解决办法
965
查看次数

IPython3自动配置%matplotlib内联

我正在使用IPython 3/Jupyter,我想默认使用%matplotlib选项.

在IPython 2中,我在〜/ .ipython/profile_default/ipython_notebook_config.py上有下一个选项

c.InteractiveShellApp.matplotlib = 'inline'
Run Code Online (Sandbox Code Playgroud)

但是在IPython 3中,此选项不再可用.

它也消失了设置c.InlineBackend.rc,我用它来设置图表的外观.

现在如何设置这些选项?

python matplotlib ipython ipython-notebook

4
推荐指数
1
解决办法
2551
查看次数

在Jupyter Ipython中更改matplotlib的默认后端

现在matplotlib的默认后端是 'module://ipykernel.pylab.backend_inline'

我想切换到TkAGG.我编辑了matplotlibrc文件

~/anaconda2/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc/

加上

backend : TkAgg

它确实切换了backendpython而不是Jupyter.

现在,每次我开始使用新笔记本时Jupyter,我都必须这样做%matplotlib tk,不是有一个很好的方法来制作TkAGG默认的后端Jupyter吗?

python matplotlib jupyter

4
推荐指数
1
解决办法
2861
查看次数

无法使用ipython Notebook内联绘图

我正在使用ipython笔记本电脑,但遇到了问题。

这段代码%matplotlib inline帮助我用下面的代码内联。

%matplotlib inline 
ax1= plt.subplot(2,1,1)
ax1.plot(df.Close,label="sp500")
ax1.plot(ma,label='50MA')
plt.legend()

ax2=plt.subplot(2,1,2, sharex = ax1)
ax2.plot(df['H-L'],label='H-L')
plt.legend()
Run Code Online (Sandbox Code Playgroud)

但是,我不能用下面的代码内联。

%matplotlib inline

def single_stock(stock_name):
    df = pd.read_csv('stocks_date_modified.csv',index_col='time',parse_dates=True)
    df = df[df.type == stock_name.lower()]
    _500MA= pd.rolling_mean(df['value'],500)
    ax1= plt.subplot(2,1,1)
    df['close'].plot(label='Price')
    plt.legend()

    ax2= plt.subplot(2,1,2, sharex = ax1)
    _500MA.plot(label='500MA')
    plt.legend()

    plt.show()

single_stock('bac')
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息说

UsageError: unrecognized arguments: #this code is to plot inline the notebook
Run Code Online (Sandbox Code Playgroud)

没有%matplotlib inlineI,我没有问题,但是在弹出窗口中显示图。

有人可以帮我解决这个问题吗?

python matplotlib ipython ipython-notebook

3
推荐指数
1
解决办法
2853
查看次数