首页 > 解决方案 > R中的时间和日期问题

问题描述

我有一组包含日期和时间的数据。我想在 y 轴上绘制时间,在 x 轴上绘制日期,并绘制每天给定时间的观察次数。然而,我的观察从第一天 20 点左右开始,到第二天 06 点左右结束。因此,当我绘制此图时,R 会绘制每个日期的所有观测值:

这是我当前图表图片的链接: 在此处输入图像描述 有谁知道如何定义 y 轴以从一个日期开始并在下一个日期结束?

这是我的脚本:

library(ggplot2)
library(scales)
library(dplyr)
library(lubridate)

test$DATE <- as.Date(test$DATE, format = "%d.%m.%Y", tz = "UTC")
test$hms <- format(test$TIME, format = "%H:%M:%S")
test$hms <- as.POSIXct(test$hms, format = "%H:%M:%S")

ggplot(test, aes(test$DATE,test$hms)) + 
geom_point() +
geom_smooth() + 
theme_light() + theme(legend.position="top") +
scale_color_brewer(palette = 1, type = "qual") +
ggtitle("emergence/return time") +
scale_x_date("d",date_breaks="7 days",date_labels="%d-%m")+
scale_y_datetime("Time",breaks=date_breaks("60 min"),labels = 
date_format("%H:%M"))

g <- ggplot(test, aes(test$DATE,test$hms)) + 
geom_point() +
geom_smooth() + 
theme_light() + theme(legend.position="top") +
scale_color_brewer(palette = 1, type = "qual") +
ggtitle("emergence/return time") +
scale_x_date("d",date_breaks="7 days",date_labels="%d-%m")+
scale_y_datetime("Time",breaks=date_breaks("60 min"),labels = 
date_format("%H:%M"))

g + scale_colour_grey()+theme(
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank())

标签: rdatetime

解决方案


推荐阅读