Я пытаюсь изменить формат метки x-tick на формат даты (% m-% d).
Мои данные состоят из почасовых значений данных за определенный период дат. Я пытаюсь построить данные за 14 дней. Однако, когда я бегу, я получаю x меток полностью перемешанными.
введите описание изображения здесь
Есть ли способ показать только даты и пропустить почасовые значения на оси x. ? Есть ли способ изменить x тактов, когда я могу пропускать метки на несколько часов и показывать метки только для дат? Я использую seaborn.
После предложения из комментария я отредактировал свой код, чтобы построить график, как показано ниже:
fig, ax = plt.pyplot.subplots()
g = sns.barplot(data=data_n,x='datetime',y='hourly_return')
g.xaxis.set_major_formatter(plt.dates.DateFormatter("%d-%b"))
Но я получил следующую ошибку:
ValueError: DateFormatter found a value of x=0, which is an illegal
date; this usually occurs because you have not informed the axis that
it is plotting dates, e.g., with ax.xaxis_date()
После проверки столбца datetime я получаю следующий результат с типом данных столбца:
0 2020-01-01 00:00:00
1 2020-01-01 01:00:00
2 2020-01-01 02:00:00
3 2020-01-01 03:00:00
4 2020-01-01 04:00:00
...
307 2020-01-13 19:00:00
308 2020-01-13 20:00:00
309 2020-01-13 21:00:00
310 2020-01-13 22:00:00
311 2020-01-13 23:00:00
Name: datetime, Length: 312, dtype: datetime64[ns]
Я подозревал, что тики x, поэтому, когда я запустил g.get_xticks()
[который получает тики по оси x], Получил вывод в виде порядковых чисел. Кто-нибудь может сказать, почему это происходит?