Matplotlib broken_barh ValueError:无法将对象转换为NumPy日期时间

时间:2019-05-01 14:29:01

标签: python pandas datetime matplotlib timedelta

当尝试使用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

0 个答案:

没有答案