При попытке построить данные с помощью функции matplotlib.pyplot.plot_date
с объектами datetime, происходящими из функции netCDF4.num2date
, я получаю следующую ошибку:
In [1]: from netCDF4 import num2date
In [2]: from matplotlib.pyplot import plot_date
In [3]: d=num2date((86400,2*86400),"seconds since 2000-01-01")
In [4]: gca().plot_date(d,(0,1))
...
AttributeError: 'cftime._cftime.DatetimeGregorian' object has no attribute 'toordinal'
The above exception was the direct cause of the following exception:
ConversionError
...
ConversionError: Failed to convert value(s) to axis units: array([cftime.DatetimeGregorian(2000-01-02 00:00:00),
cftime.DatetimeGregorian(2000-01-03 00:00:00)], dtype=object)
Установлены следующие версии пакета:
pandas 1.0.3
matplotlib 3.2.1
netcdf4 1.5.1.2
cftime 1.1.1.2
Поскольку то же самое прекрасно работает на другая машина с более старыми версиями пакета, я предполагаю проблему с версией. Кроме того, я попробовал решение, предложенное в этой теме и других связанных темах, что выглядело как похожая проблема, но
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
тоже не помогло.
Любые предложения приветствуются;)