从熊猫DataReader导入数据时,x轴日期未显示在matplotlib上

时间:2018-09-28 01:49:47

标签: python pandas matplotlib pandas-datareader

我正在使用pandas DataReader在matplotlib中绘制股票图表的图形,但是当我使用以下代码时,日期不会显示在x轴上:

import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import datetime as dt
from datetime import datetime
import pandas_datareader.data as web

start = datetime(2014,1,1)
end = datetime(2018,9,27)
spy = web.DataReader('SPY','iex',start,end)
spy['open'].plot(xlim=['2018-01-01','2018-02-28'])

结果: Chart of SPY with no x-axis dates

但是,当我使用以下命令从csv导入相同的数据时,在绘制数据时日期显示得很好:

spy_csv = pd.read_csv('spy.csv',index_col='date',parse_dates=True)

我假设“ parse_dates = True”有所作为,所以我想知道从DataReader导入时是否存在等效命令。在我的DataReader代码中,等效的内容是什么样的?

1 个答案:

答案 0 :(得分:0)

我认为您应该将索引更改为datetime格式

spy.index=pd.to_datetime(spy.index)

然后,使用Timestamp

传递xlim
spy['open'].plot(xlim=[pd.Timestamp('2018-01-01'),pd.Timestamp('2018-02-28')])

enter image description here