簡體   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