Я пытаюсь построить временной ряд, который выглядит так
ts
2020-01-01 00:00:00 1300.0
2020-01-01 01:00:00 1300.0
2020-01-01 02:00:00 1300.0
2020-01-01 03:00:00 1300.0
2020-01-01 04:00:00 1300.0
...
2020-12-31 19:00:00 1300.0
2020-12-31 20:00:00 1300.0
2020-12-31 21:00:00 1300.0
2020-12-31 22:00:00 1300.0
2020-12-31 23:00:00 1300.0
Freq: H, Name: 1, Length: 8784, dtype: float64
И я рисую это через: ts.plot(label=label, linestyle='--', color='k', alpha=0.75, zorder=2)
Если временной ряд ts
начинается с 2020-01-01
до 2020-12-31
, при вызове plt.xticks()[0]
я получаю следующее:
array([438288, 439032, 439728, 440472, 441192, 441936, 442656, 443400,
444144, 444864, 445608, 446328, 447071], dtype=int64)
что хорошо, поскольку первый элемент этого массива фактически показывает правильное положение первого xtick. Однако, когда я расширяю объект временного ряда с 2019-01-01
до 2020-12-31
, то есть через 2 года, когда я вызываю plt.xticks()[0]
, я получаю следующее:
array([429528, 431688, 433872, 436080, 438288, 440472, 442656, 444864,
447071], dtype=int64)
Я не понимаю, почему теперь я получаю меньше значений xticks. Итак за 12 месяцев я получаю 13 локаций для xticks. Но за 24 месяца я рассчитывал получить 25 локаций. Вместо этого я получил только 9. Как мне получить все эти 25 местоположений?
Это весь скрипт:
fig, ax = plt.subplots(figsize=(8,4))
ts.plot(label=label, linestyle='--', color='k', alpha=0.75, zorder=2)
locs, labels = plt.xticks()
25
тактов, попробуйте MonthLocator. - person Quang Hoang   schedule 22.02.2021ax.xaxis.set_major_locator(mdates.MonthLocator())
, я получаю 575 тиков как xticks. - person oakca   schedule 22.02.2021