无法使用ipython Notebook内联绘图

use*_*526 3 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()
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,我没有问题,但是在弹出窗口中显示图。

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

小智 5

如果其他任何人遇到此错误,则似乎无法在调用IPython Magics的行上包含行内注释:

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

UsageError: unrecognized arguments: # allows matplotlib to be inline
Run Code Online (Sandbox Code Playgroud)

没有评论,它可以正常工作:

In [9]: %matplotlib inline
Run Code Online (Sandbox Code Playgroud)

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