Dataframe 紧凑型多功能2倍系列

Dataframe 紧凑型多功能2倍系列,dataframe,r,ggplot2,data-visualization,Dataframe,R,Ggplot2,Data Visualization,我有一个大的天。数据由几个星期的能源消耗观测数据组成。该df是数天的rbind,其中每天有相同数量的行(60*60*24)。其中每一行都是能量观测。从那个大的df,我选择了两天I.data,来调查消费情况 df <- days.data[i.data,] %>% mutate(date = as.factor(as.Date(time,tz="CET")))%>% select( time, kWh, date) df$csum <- ave(df$kWh, d

我有一个大的
天。数据
由几个星期的能源消耗观测数据组成。该
df
是数天的
rbind
,其中每天有相同数量的行(60*60*24)。其中每一行都是能量观测。从那个大的
df
,我选择了两天
I.data,
来调查消费情况

df <- days.data[i.data,] %>%
  mutate(date = as.factor(as.Date(time,tz="CET")))%>%
  select( time, kWh, date)

df$csum <- ave(df$kWh, df$date, FUN=cumsum)

ggplot(df, aes(x = time, y = csum)) + 
  geom_line(aes(color = date, linetype = date)) +
  scale_color_manual(values = c("darkred", "steelblue")) +
  scale_x_datetime(
    breaks = seq(df[1,1],
                 df[nrow(df),1], 36000),
    labels = date_format(format="%H:%M", tz = "CET"),
    expand = c(0, 0))  

下一步我可以尝试什么?

更好的方法是使用facet。这就在这两天之间创造了一个清晰易读的区别。如果要比较一对以上的天数,则可以在ggplot中选择天数

exdf <- data.frame(time = seq(as.POSIXct("2020-03-20"), as.POSIXct("2020-03-27"), 60))
exdf$kWh <- rlnorm(nrow(exdf))
exdf$date <- as.factor(as.Date(exdf$time))
exdf$csum <- ave(exdf$kWh, exdf$date, FUN = cumsum)

i.data <- c("2020-03-21", "2020-03-25")

ggplot(subset(exdf, date %in% i.data), aes(time, csum)) + 
  geom_line() +
  facet_wrap(~date, scales = "free_x")

exdf请按说明添加数据。facetting如何:“+facet\u wrap(~date)”@NelsonGon我试过了,但数据集太大了,以至于在保存时触发了站点错误。不管怎样,谢谢你的建议。
exdf <- data.frame(time = seq(as.POSIXct("2020-03-20"), as.POSIXct("2020-03-27"), 60))
exdf$kWh <- rlnorm(nrow(exdf))
exdf$date <- as.factor(as.Date(exdf$time))
exdf$csum <- ave(exdf$kWh, exdf$date, FUN = cumsum)

i.data <- c("2020-03-21", "2020-03-25")

ggplot(subset(exdf, date %in% i.data), aes(time, csum)) + 
  geom_line() +
  facet_wrap(~date, scales = "free_x")