无法与 ipython 笔记本内联绘图

Cannot plot inline with 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 我在显示图表时没有问题,但在弹出窗口中 window。

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

您可以 运行 您的笔记本:

ipython notebook --matplotlib=inline

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

或者,如果您使用某种快捷键来调用您的笔记本(如 Mac/Linux),您可以将组合键绑定到 运行 上面的命令。

如果其他人遇到此错误,似乎您不能在调用 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 可能是一个明智之举。