Даты по оси X с использованием панд и matplotlib - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь построить некоторые данные из панд.Сначала я группирую по неделям и подсчитываю для каждой сгруппированной недели, их я хочу построить для каждой даты, однако, когда я пытаюсь построить график, я получаю только некоторые даты, а не все.

Я использую следующий код:

my_data = res1.groupby(pd.Grouper(key='d', freq='W-MON')).agg('count').u
p1,  = plt.plot(my_data, '.-')
a = plt.xticks(rotation=45)

Мой результат следующий:

enter image description here

Я хотел значение на оси x для каждой даты всгруппированный фрейм данных.

РЕДАКТИРОВАТЬ: я пытался использовать plt.xticks(list(my_data.index.astype(str)), rotation=45) Я получаю следующий график: I would like to have the complete dates

1 Ответ

0 голосов
/ 09 октября 2018

Пожалуйста, найдите рабочий кусок кода ниже:

from datetime import date, timedelta
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import numpy as np

a = pd.Series(np.random.randint(10, 99, 10))

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())

plt.plot(pd.date_range(date(2016,1,1), periods=10, freq='D'), a)
plt.gcf().autofmt_xdate()

enter image description here

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...