Matplotlib xaxis.set_major_formatter не понимает год - PullRequest
0 голосов
/ 29 мая 2020

Информация

У меня есть pd.dataframe ниже, построенный с помощью

ax = dfPivot.plot()
plt.grid()
plt.grid(which='minor')
plt.show()

In [4]: dfPivot.index
Out[4]:
DatetimeIndex(['2020-05-26 12:00:33', '2020-05-26 12:02:13',
               '2020-05-26 12:03:53', '2020-05-26 12:05:33',
               '2020-05-26 12:07:13', '2020-05-26 12:08:53',
               '2020-05-26 12:10:33', '2020-05-26 12:12:13',
               '2020-05-26 12:13:53', '2020-05-26 12:15:33',
               ...
               '2020-05-29 09:08:53', '2020-05-29 09:10:33',
               '2020-05-29 09:12:13', '2020-05-29 09:13:53',
               '2020-05-29 09:15:33', '2020-05-29 09:17:13',
               '2020-05-29 09:18:53', '2020-05-29 09:20:33',
               '2020-05-29 09:22:13', '2020-05-29 09:23:53'],
              dtype='datetime64[ns]', name='DateTime', length=2499, freq=None)

Он работает нормально.

Plot working without


Проблема

У меня проблема, когда я форматирую ось X с помощью:

myFmt = mdates.DateFormatter("%d/%m/%y %H:%M:%S") # tried with "%x %X" or any other combination, failed.
ax.xaxis.set_major_formatter(myFmt)

python отбрасывает:

  rom_ordinalf
      dt = datetime.datetime.fromordinal(ix).replace(tzinfo=UTC) ValueError: year 4354626 is out of range

Я не понимаю, что обрабатывается по-другому, когда я использую set_major_formatter (). Я подумал, что это было всего лишь изменение эстетики c, но кажется go глубже.

Я думаю, что matplotlib «пытается» найти дату американского типа на моем pd.datetime64 [ns] и потерпел неудачу, но не знаю, как действовать.

Спасибо

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