Для данных:
year N cumulative time.period
1 2000 100 100 blue
2 2001 100 200 blue
3 2002 100 300 blue
4 2003 100 400 blue
5 2004 100 500 blue
6 2005 100 600 red
7 2006 100 700 red
8 2007 100 800 red
9 2008 100 900 red
10 2009 100 1000 red
Я хочу сначала построить линию для «совокупного», а затем раскрасить ее, используя переменную «time.period». После этого я хочу заполнить область под линией той же переменной time.period. Вот мой код для создания этого графика:
library(dplyr)
library(ggplot2)
year<-2000:2009
N <- rep(100, 10)
DF<-as.data.frame(cbind(year, N))
DF <- DF %>%
mutate(cumulative = cumsum(N)) %>%
mutate(time.period = ifelse(year<2005, "blue", "red"))
ggplot(DF, aes(x=year, y=cumulative)) +
geom_line(color=DF$time.period) +
ylab("Cumulative count") +
geom_area(aes(fill=DF$time.period)) +
scale_fill_manual(values=c("blue", "red"))
Это создает следующий сюжет:
Затем я получаю пробел в заливке для 2004 года. Как я могу настроить свой код так, чтобы не было разрывов в раскраске для заливки geom_area?