R ggplot:根据日期设置面打印的时间范围
我只想看看每天早上7点到9点时间序列数据集中的趋势(即Y) 你知道如何在ggplot中绘图吗 ggplot方面的每个子图显示了每天早上7点到9点(2010/1/1到2010/1/14)的趋势Y 这是我的数据集:R ggplot:根据日期设置面打印的时间范围,r,ggplot2,facet,R,Ggplot2,Facet,我只想看看每天早上7点到9点时间序列数据集中的趋势(即Y) 你知道如何在ggplot中绘图吗 ggplot方面的每个子图显示了每天早上7点到9点(2010/1/1到2010/1/14)的趋势Y 这是我的数据集: DateTime <- seq(as.POSIXct("2010/1/1 00:00"), as.POSIXct("2010/1/15 00:00"), "min") Y <- rnorm(n=length(DateTime), mean=100, sd=1) d
DateTime <- seq(as.POSIXct("2010/1/1 00:00"), as.POSIXct("2010/1/15 00:00"), "min")
Y <- rnorm(n=length(DateTime), mean=100, sd=1)
df <- data.frame(DateTime, Y)
DateTimerequire(ggplot2)
df'07:00:00')
df$Dayrequire(ggplot2)
df'07:00:00')
df$Day是来自dplyr
的过滤器
?是的,很抱歉我没有提到。我认为这只适用于非常一致的数据。我有两天的时间戳,想做一个x轴相同的直方图。这个答案与过滤一样依赖于scales=“free_x”
(移除它看看会发生什么)。假设数据丢失,但您仍然希望显示07:00-09:00。。。这是行不通的。尝试执行df是dplyr
中的filter
吗?是的,很抱歉我没有提到。我认为这只适用于非常一致的数据。我有两天的时间戳,想做一个x轴相同的直方图。这个答案与过滤一样依赖于scales=“free_x”
(移除它看看会发生什么)。假设数据丢失,但您仍然希望显示07:00-09:00。。。这是行不通的。尝试执行df
require(ggplot2)
df <- dplyr::filter(df, format(DateTime, '%H:%M:%S') < '09:00:00', format(DateTime, '%H:%M:%S') > '07:00:00')
df$Day <- format(df$DateTime, '%d')
plt <- ggplot(df, aes(DateTime, Y)) + geom_line() + facet_wrap(~Day, ncol = 2, scales = 'free_x') +
theme(axis.text.x = element_text(size = rel(0.7)))
print(plt)