Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使线图成为一条连续线_Python_Matplotlib - Fatal编程技术网

Python 如何使线图成为一条连续线

Python 如何使线图成为一条连续线,python,matplotlib,Python,Matplotlib,我试图将我的数据可视化,但是当我绘制点时,线似乎无处不在 下面是数据片段 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/20

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

下面是数据片段

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/4/2020 15:10'
的信息,此处:

mask = (df['date_start'] > day1) & (df['date_end'] <= day2)
df = df.loc[mask]
从这里,您可以简单地绘制数据adding.plot(),默认情况下,它将绘制一个折线图,因为索引现在是您的日期字段(按天聚合):

最后,您的代码中存在一些不一致之处,最好仔细检查并清理这些不一致之处:

  • 您不需要将
    date\u start
    date\u end
    转换为pd datetimes两次,这样您就可以删除第二个实例
  • 您已经用另一种创建方法覆盖了列
    activecalls
    。确定哪个是正确的,然后拆下另一个

  • 请显示“开始时间”和“结束时间”的数据,在绘图前按日期对数据进行排序,应解决itI已添加其他数据的问题。我尝试在绘图之前添加df.sort\u值(by=“date\u start”),我认为这没有什么不同。
    df.groupby(pd.Grouper(key='date_start', freq='D'))['activecalls'].sum()
    
    df.groupby(pd.Grouper(key='date_start', freq='D'))['activecalls'].sum().plot()