Plot that needs to format date我试图将股票价格与时间进行对比。下面的代码确实绘制了“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'))
答案 0 :(得分:3)
这一行:
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'))
答案 1 :(得分:1)
问题来自于你的写作
ax1 = plt.plot(df_copy['Date'], df_copy['Open'], label = 'Open values' )
因为您正在将ax1的类型更改为plt.subplot()
返回的句柄。在所述行之后,它是添加到绘图中的行列表,它解释了您的错误消息。请参阅plot命令中的纪录片:
返回值是已添加的行列表。 matplotlib.org