Информация
У меня есть 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)
Он работает нормально.
Проблема
У меня проблема, когда я форматирую ось 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] и потерпел неудачу, но не знаю, как действовать.
Спасибо