При попытке построить интервалы времени с помощью API Matplotlib broken_barh я получаю сообщение об ошибке:
--> 538 return array(a, dtype, copy=False, order=order)
539
540
ValueError: Could not convert object to NumPy datetime
Я использую ноутбук Jupiter в Windows 10 Pro 64bits с Python 3.6.1
DataFrame моих панд:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 266 entries, 0 to 265
Data columns (total 9 columns):
End Seq 266 non-null int64
End Time 266 non-null datetime64[ns]
Gap Seq 266 non-null int64
Gap Time 266 non-null float64
Source 266 non-null object
Start Seq 266 non-null int64
Start Time 266 non-null datetime64[ns]
Target 266 non-null object
Gap Time (s) 266 non-null timedelta64[ns]
dtypes: datetime64[ns](2), float64(1), int64(3), object(2),
timedelta64[ns](1)
memory usage: 18.8+ KB
Я много гуглил и не смог найти разумного объяснения, почему это не работает.
Это код, который я использую в своей записной книжке Jupyter:
fig, ax = plt.subplots()
ax.broken_barh(list(zip(df['Start Time'].values, (df['Gap Time
(s)']).values)), (0, 0.5))
ax.set_ylim(-2,2)
plt.show()
Я ожидаю, что jupyter отобразит столбчатый график, например:
https://matplotlib.org/devdocs/gallery/lines_bars_and_markers/broken_barh.html