Отличается ли Datetime в Matplotlib от Datetime, используемого в Pandas или Python3? Должен ли он быть явно преобразован с использованием функций Matplotlib, таких как date2num
?
Справочная информация:
matplotlib.dates говорит, что использует плавающую точку из 0001-01-01 UTC
.
Matplotlib представляет даты, используя числа с плавающей запятой, указывающие
количество дней с 0001-01-01 UTC, плюс 1. Например,
0001-01-01, 06:00 - это 1,25, а не 0,25. Значения <1, то есть даты до
0001-01-01 UTC не поддерживается. </p>
Визуализация данных Python с Matplotlib говорит:
нам нужно преобразовать значения в числа с плавающей точкой, поддерживаемые Matplotlib.
from matplotlib.dates import date2num
import pandas as pd
# Convert Date column from string to Python datetime object,
# then to float number that is supported by Matplotlib.
stock_df["Datetime"] = date2num(pd.to_datetime(stock_df["Date"], format="%Y-%m-%d").tolist())