在处理geom_area的情节时,我遇到了一些问题。我有一个包含日期和计数的数据框,如:
dates <- c("02/01/00", "02/04/00", "02/07/00", "02/10/00", "02/01/01", "02/04/01", "02/07/01", "02/10/01")
dat <- data.frame(date=as.Date(dates, "%d/%m/%y"), count=(sample(1:8)))
然后我给了一个“月”变量:
dat["month"] <- month(dat$date)
然后是我的情节:
plot <- ggplot(data=dat, aes(x=date, y=count, group=month, fill=month)) + geom_area()
结果不会那么糟糕,如果它能理解的话,它不应该填补从本月第一次出现到下一年第二次出现的区域,但是从这个出现到下一次出现的区域。同月下个月。 (为了更好地理解:这些线应该与diagramm plot2相同(见下文),但每个新月都要填充不同的颜色。)
plot2 <- ggplot(data=dat, aes(x=date, y=count)) + geom_line()
答案 0 :(得分:4)
与@ user20659的评论在同一行,但操纵数据:
dat["month"] <- as.factor(month(dat$date))
dat["df"] <- as.factor(dat$date)
dat2 <-data.frame(date=dat$date[-1],count=dat$count[-1], month=dat$month[-8],df=dat$df[-8])
dat3 <- rbind(dat,dat2)
ggplot(data=dat3, aes(x=date, ymax=count, ymin=0, group=df, fill=month)) + geom_ribbon()