当尝试使用Matplotlib broken_barh API绘制时间间隔时,出现错误:
--> 538 return array(a, dtype, copy=False, order=order)
539
540
ValueError: Could not convert object to NumPy datetime
我正在Windows 10 Pro 64位和Python 3.6.1中使用Jupiter笔记本
我的熊猫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
我在Google上搜索了很多,却找不到任何合理的解释来解释为什么它不起作用。
这是我在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显示如下的barh图:
https://matplotlib.org/devdocs/gallery/lines_bars_and_markers/broken_barh.html