我如何使用 scale_y_datetime 休息时间 1 小时

How do I using scale_y_datetime breaks time 1 hours

如何使用 scale_y_datetime 休息时间 1 小时。

数据电源Bi

Date    Start   Stop    Threshold
01-Jun-20   23:10   3:53    07:00
02-Jun-20   23:09   3:46    07:00
03-Jun-20   23:09   3:34    07:00
04-Jun-20   23:07   3:55    07:00
05-Jun-20   23:07   3:59    07:00
06-Jun-20   23:07   4:26    07:00
07-Jun-20   23:07   3:32    07:00
08-Jun-20   23:12   3:55    07:00
09-Jun-20   23:08   4:34    07:00

我希望它在休息时间 1 小时内到达 Y 轴。

library(scales)
library(ggplot2)
df <- dataset
Hour=format(as.POSIXct(strptime(dataset$Start, format="%Y-%m-%dT%H:%M:%S")), format="%H:%M")
Hour1=format(as.POSIXct(strptime(dataset$Stop, format="%Y-%m-%dT%H:%M:%S")), format="%H:%M")
Hour2=format(as.POSIXct(strptime(dataset$Threshold, format="%Y-%m-%dT%H:%M:%S")), format="%H:%M")
Day=format(as.POSIXct(strptime(dataset$Date, format="%Y-%m-%d")), format="%d-%b-%y")
lims = as.POSIXct(strptime("23:00","08:00"), format = "%H:%M")

ggplot(df, aes(x = Day , group = 1)) + 
geom_line(aes(y = Hour, colour = 'Start')) +
geom_point(aes(y = Hour, colour = 'Start')) +
geom_line(aes(y = Hour1, colour = 'Stop')) +
geom_point(aes(y = Hour1, colour = 'Stop')) +
geom_line(aes(y = Hour2 , colour = 'Threshold'), linetype = 5) + 
geom_point(aes(y = Hour2, colour = 'Threshold')) +
xlab("Day") +
ylab("Time") +
labs(colour="Legend") +
theme(axis.text.x=element_text(angle=20))+
theme(axis.text.y=element_text(angle=45)) +      
scale_y_datetime(breaks=date_breaks('1 hour'), 
                            labels=date_format('%H:%M'))

我不知道如何使用 scale_y_datetime。

scale_y_datetime(breaks=date_breaks('1 hour'), 
                            labels=date_format('%H:%M'))

我能行。 原因是时区和格式时间,日期

enter image description here

library(scales)
library(ggplot2)

Day=format(as.POSIXct(dataset$'Date', format="%Y-%m-%dT%H:%M:%S"), format="%Y-%b-%d")

ggplot(dataset, aes(x = Day , group = 1)) + 
geom_line(aes(y = as.POSIXct(dataset$'Start', format="%Y-%m-%dT%H:%M:%S",tz="UTC"), colour = 'Start')) +
geom_point(aes(y = as.POSIXct(dataset$'Start', format="%Y-%m-%dT%H:%M:%S",tz="UTC"), colour = 'Start')) +
geom_line(aes(y = as.POSIXct(dataset$'Stop', format="%Y-%m-%dT%H:%M:%S",tz="UTC"), colour = 'Stop')) +
geom_point(aes(y = as.POSIXct(dataset$'Stop', format="%Y-%m-%dT%H:%M:%S",tz="UTC"), colour = 'Stop')) +
geom_line(aes(y = as.POSIXct(dataset$'Threshold', format="%Y-%m-%dT%H:%M:%S",tz="UTC"), colour = 'Threshold'), linetype = 5) +
geom_point(aes(y = as.POSIXct(dataset$'Threshold', format="%Y-%m-%dT%H:%M:%S",tz="UTC"), colour = 'Threshold')) +
scale_y_datetime(limits= c(as.POSIXct('1899-12-31 22:00:00',format='%Y-%m-%d %H:%M:%S',tz="UTC"),as.POSIXct('1900-01-01 08:00:00',format='%Y-%m-%d %H:%M:%S',tz="UTC")) ,breaks=date_breaks('1 hours'),labels=date_format('%H:%M'))+
xlab("Day") +
ylab("Time") +
labs(colour="Legend") +
theme(axis.text.x=element_text(angle=90))+
theme(axis.text.y=element_text(angle=45))