不能用ipython笔记本内联

时间:2015-01-04 02:16:17

标签: python matplotlib ipython 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()

但是,我无法使用下面的代码进行内联。

%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')

我收到一条错误消息

UsageError: unrecognized arguments: #this code is to plot inline the notebook

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

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

2 个答案:

答案 0 :(得分:4)

如果有其他人遇到此错误,您似乎无法对调用IPython Magics的行进行内联注释:

In [9]: %matplotlib inline # allows matplotlib to be inline

UsageError: unrecognized arguments: # allows matplotlib to be inline

没有评论,它的工作正常:

In [9]: %matplotlib inline

但是,无论如何,在启动时使用ipython notebook --matplotlib=inline内联加载matplotlib可能是明智之举。

答案 1 :(得分:1)

您可以使用以下方式运行笔记本:

ipython notebook --matplotlib=inline

为避免每次使用笔记本时重复输入,您都可以创建笔记本配置文件READ HERE。 您还可以阅读有关如何编写配置文件的相关SO Answer

或者,如果您使用某种快捷键来调用笔记本(例如在Mac / Linux中),则可以绑定组合键以运行上述命令。