Matplotlib broken_barh ValueError: Не удалось преобразовать объект в NumPy datetime - PullRequest
0 голосов
/ 01 мая 2019

При попытке построить интервалы времени с помощью 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

...