繁体   English   中英

如何使折线图成为一条连续的线

[英]How to make line graph be one continuous line

我试图将我的数据可视化,但是当我绘制点时,线条似乎无处不在。

这是数据的片段

Date    time_began  time_end    activecalls date_start  date_end
7/3/2020    14:08:47    14:09:30    2   7/3/2020 14:08  7/3/2020 14:09
7/3/2020    14:06:05    14:06:48    4   7/3/2020 14:06  7/3/2020 14:06
7/3/2020    15:11:36    15:12:19    6   7/3/2020 15:11  7/3/2020 15:12
7/3/2020    13:37:52    13:38:35    1   7/3/2020 13:37  7/3/2020 13:38
7/3/2020    14:19:31    14:20:14    3   7/3/2020 14:19  7/3/2020 14:20
7/3/2020    13:58:01    13:58:44    1   7/3/2020 13:58  7/3/2020 13:58
7/3/2020    16:56:32    16:57:15    3   7/3/2020 16:56  7/3/2020 16:57
7/3/2020    16:15:26    16:16:09    6   7/3/2020 16:15  7/3/2020 16:16
7/3/2020    14:35:16    14:35:59    3   7/3/2020 14:35  7/3/2020 14:35
7/3/2020    15:54:48    15:55:31    9   7/3/2020 15:54  7/3/2020 15:55
7/3/2020    16:01:39    16:02:22    3   7/3/2020 16:01  7/3/2020 16:02
7/3/2020    15:52:51    15:53:34    4   7/3/2020 15:52  7/3/2020 15:53

当我运行它时,图表如下所示:它看起来像什么

这是我想要的样子:我希望它看起来像什么

您用来绘制数据的代码没有任何问题,数据本身与您的期望不符。 我在这里做了一些假设,但根据以前的工作,我认为你需要做两件事来纠正这个问题

数据中的日期范围

您已经覆盖了您的数据'7/1/2020 16:08'以将您的数据限制为仅包含从'7/1/2020 16:08''7/4/2020 15:10'信息:

mask = (df['date_start'] > day1) & (df['date_end'] <= day2)
df = df.loc[mask]

我不确定这是否只是为了检查最初几天,但您的预期图表会上升到 2009 年,因此我建议删除这些行。

活动呼叫 - 尝试每天使用聚合

查看您的数据片段中的数字并与您的预期输出进行比较,数据从 2002 年到 2009 年非常细化。如果您想按天汇总活动调用总和,您需要包含一个 groupby() 和一个 pd.Grouper( ) 来指定一天的频率:

df.groupby(pd.Grouper(key='date_start', freq='D'))['activecalls'].sum()

从这里您可以简单地绘制添加 .plot() 的数据,默认情况下将绘制折线图,​​因为索引现在是您的日期字段(按天聚合):

df.groupby(pd.Grouper(key='date_start', freq='D'))['activecalls'].sum().plot()

最后,您的代码中有一些不一致之处,最好通过并清理这些:

  1. 您不需要将date_startdate_end两次转换为 pd datetimes,因此您可以删除它的第二个实例。
  2. 您已使用另一种创建方法覆盖了列activecalls 确定哪个是正确的并删除另一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM