如何在 R 中的 ggplot x 轴上绘制时间(润滑)

问题描述 投票:0回答:1

我的数据框(df)有一个名为“到达时间”的列,其中的时间采用润滑格式“XH YM ZS”。我有 30,000 个观察结果。

我想要一个数据可视化,它可以显示一天中哪些时间到达的人最繁忙,哪些时间比较安静。

我认为最好的方法是创建频率多边形,但由于我的时间数据包括秒,因此两个人完全同时到达的情况可能很少见,因此频率多边形不会是一个很好的可视化效果。

我认为最好的办法是四舍五入到最接近的 15m(例如 8H 8M 9S 将变为 8H 15),然后使用下面的代码绘制频率多边形。

ggplot(Bdf, aes(Arrival_Time)) + geom_freqpoly()

是否有允许在 lubridate 中对时间段进行舍入的函数?我尝试了以下方法:

df$Arrival_Time_15 <- round_date(df$Arrival_Time, unit = "15 mins")

但是收到错误:

Error in unsupported_date_time(time) : 
  Unsupported date-time class 'Period'
r ggplot2 time lubridate
1个回答
0
投票

您的 df$Arrival_Time 似乎不是 POSIX 时间格式,这是 lubrdiate::round_date() 工作所必需的。您需要先使用 as.POSIXct() 进行转换

© www.soinside.com 2019 - 2024. All rights reserved.