Как наложить один график поверх другого в ggplot2, как объясняется в следующих предложениях? Я хочу нарисовать серый временной ряд поверх красного, используя ggplot2 в R (теперь красный находится над серым, и я хочу, чтобы мой график был наоборот). Вот мой код (я генерирую некоторые данные, чтобы показать вам свою проблему, реальный набор данных намного сложнее):
install.packages("ggplot2")
library(ggplot2)
time <- rep(1:100,2)
timeseries <- c(rep(0.5,100),rep(c(0,1),50))
upper <- c(rep(0.7,100),rep(0,100))
lower <- c(rep(0.3,100),rep(0,100))
legend <- c(rep("red should be under",100),rep("grey should be above",100))
dataset <- data.frame(timeseries,upper,lower,time,legend)
ggplot(dataset, aes(x=time, y=timeseries)) +
geom_line(aes(colour=legend, size=legend)) +
geom_ribbon(aes(ymax=upper, ymin=lower, fill=legend), alpha = 0.2) +
scale_colour_manual(limits=c("grey should be above","red should be under"),values = c("grey50","red")) +
scale_fill_manual(values = c(NA, "red")) +
scale_size_manual(values=c(0.5, 1.5)) +
theme(legend.position="top", legend.direction="horizontal",legend.title = element_blank())
alpha
в строке геометрии - person rawr   schedule 27.04.2014geom_line
в конец, чтобы слой с серой линией был последним нарисованным и, следовательно, прямо сверху. - person Ramnath   schedule 27.04.2014