我如何使用 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))
如何使用 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))