如何在matplotlib中更改x轴索引日期格式?

时间:2018-01-06 21:36:56

标签: python pandas matplotlib plot

我的代码输出如下图像:

from datetime import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import style
import pandas as pd
import pandas_datareader.data as web
import os

start = dt(2017, 1, 1)
end = dt.now()

df = web.get_data_yahoo('AAPL', start, end, interval = 'd')
df['30_sma'] = df['Adj Close'].rolling(window=30, 
min_periods=None).mean()

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.plot(df.index, df['Adj Close'])
ax.plot(df.index, df['30_sma'])
plt.show()

AAPL stock price, bad date format

我希望日期显示为YYYY-MM-DD或YYYY-MM格式。我已经尝试在由索引构成的数据框架中创建一个新列,但是在绘制它时没有改变任何内容。

1 个答案:

答案 0 :(得分:0)

这可以通过调用df.plot并将ax作为参数传递来实现 -

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

df[['Adj Close', '30_sma']].plot(ax=ax)
plt.show()

enter image description here