Matplotlib 绘图:AttributeError:'list' 对象没有属性 'xaxis'

Mui*_*ora 3 python plot matplotlib pandas

需要格式化日期的示例图

我试图根据时间绘制股票价格(见上文)。下面的代码确实绘制了“OPEN”价格,但是当我尝试将 X 轴日期从序数格式化为 ISO 日期时,它抛出AttributeError.

绘制 OHLC 图时相同的代码有效,但不知何故现在不起作用。

AttributeError: 'list' 对象没有属性 'xaxis'

    df_copy = read_stock('EBAY')

    fig = plt.figure(figsize= (12,10), dpi = 80)
    ax1 = plt.subplot(111)
    ax1 = plt.plot(df_copy['Date'], df_copy['Open'], label = 'Open values' )
    ax1.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
Run Code Online (Sandbox Code Playgroud)

Pau*_*l H 5

这一行:

ax1 = plt.plot(df_copy['Date'], df_copy['Open'], label='Open values')

将 Axes 对象细化为plot命令返回的艺术家列表。

您应该直接使用您的对象,而不是依赖状态机将艺术家放在 Axes 上:

df_copy = read_stock('EBAY')

fig = plt.figure(figsize=(12, 10), dpi=80)
ax1 = fig.add_subplot(111)
lines = ax1.plot(df_copy['Date'], df_copy['Open'], label='Open values')
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
Run Code Online (Sandbox Code Playgroud)