Невозможно установить отметки даты и времени при использовании панд - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь построить сериал с пандами.Однако у меня есть проблема, когда я пытаюсь установить главный локатор на оси с датами.

Если вы хотите примерить тот же набор данных, что и у меня, вот маринад .

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

df = pd.read_pickle('df.pkl')
df = df.set_index('time')

ax = df.plot(y=['dataset1', 'dataset2'], figsize=(10,5))

h_locator = mdates.HourLocator(byhour=[0, 6, 12, 18])
ax.xaxis.set_major_locator(h_locator)
ax.grid(True)
plt.show()

Я хочу отображать 4 тика сетки в день (часы: 0, 6, 12 и 18), но вывод такой же, как если бы я не устанавливал локатор.

plot

Мой DataFrame выглядит так:

                     dataset1  dataset2
2018-04-16 00:00:00  0.000000  0.516667
2018-04-16 00:15:00  0.011111  0.244444
2018-04-16 00:30:00  0.000000  0.388889
2018-04-16 00:45:00  0.000000  0.211111
2018-04-16 01:00:00  0.000000  0.127778
                       ...       ...
2018-04-19 22:45:00  0.022222  0.250000
2018-04-19 23:00:00  0.166667  0.505556
2018-04-19 23:15:00  0.000000  0.688889
2018-04-19 23:30:00  0.000000  1.733333
2018-04-19 23:45:00  0.055556  0.283333
[384 rows x 2 columns]

1 Ответ

0 голосов
/ 23 мая 2018

Если вы хотите использовать matplotlib.dates локаторы и форматеры на графике, сгенерированном пандами, вам нужно построить график в режиме совместимости,

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