首页 > 解决方案 > 如何在一张图上叠加每天的时间序列

问题描述

我正在尝试在图表上以每小时频率绘制数据帧中的数据,其中每天都是它自己的线,x 轴是小时。数据框如下所示,当简单地将 x 轴设置为“hb”并将 y 轴设置为“BaseCase”时,我得到的结果图也是如此。情节接近我想要的,但将终点连接到起点。我该如何避免穿过情节的直线?

scens = pd.read_csv(---)
scens['datetime'] = pd.to_datetime(scens['datetime'])
scens.drop(scens.tail(2).index,inplace=True)
source = ColumnDataSource(scens)
p = figure()
p.line(x='hb', y='BaseCase', source=source)
show(p)

上面的代码是我如何获得帖子底部的情节

数据框

结果图

标签: pythonpandasdataframebokeh

解决方案


如果您对其他包裹开放,请考虑 seaborn

import seaborn as sns 
sns.lineplot(data=df,x='hb', y='BasedCase', 
             hue= df['datetime'].df.normalize())

或者只使用熊猫:

for date, d in df.groupby(df['datetime'].df.normalize()):
     d.plot(x='hb', y='BasedCase', label=date)

推荐阅读