Даты по оси X не отображаются на matplotlib при импорте данных из pandas DataReader - PullRequest
0 голосов
/ 28 сентября 2018

Я использую 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'])

Результат: Диаграмма SPY без дат оси x

Однако, когда я импортирую те же данные из csv с помощью следующей команды, даты отображаются очень хорошо, когда я строю данные:

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

Я предполагаю, что "parse_dates = True" имеет значение, поэтому мне интересно, есть ли эквивалентная команда при импорте из DataReader.Как этот эквивалент будет выглядеть в моем коде DataReader?

1 Ответ

0 голосов
/ 28 сентября 2018

Я думаю, вы должны изменить свой индекс на datetime формат

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

Затем передайте xlim с помощью Timestamp

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

enter image description here

...