R ggplot2多个几何图形的z顺序(背景到前景)
我正在尝试使用ggplot2、are的geom_功能区和geom_线绘制多条带周围区域的线。这些值是重叠的,但我希望每个功能区/线条组合都是底部或顶部的组合 下面是一个可复制的示例:R ggplot2多个几何图形的z顺序(背景到前景),r,ggplot2,R,Ggplot2,我正在尝试使用ggplot2、are的geom_功能区和geom_线绘制多条带周围区域的线。这些值是重叠的,但我希望每个功能区/线条组合都是底部或顶部的组合 下面是一个可复制的示例: library(ggplot2) x <- 1:10 y <- c(1+x/100, 2-x, .1*x^2) data <- data.frame(x=rep(x,3), y=y, lower=y-1, upper=y+1, color=rep(c('green', 'blue', 'yello
library(ggplot2)
x <- 1:10
y <- c(1+x/100, 2-x, .1*x^2)
data <- data.frame(x=rep(x,3), y=y, lower=y-1, upper=y+1, color=rep(c('green', 'blue', 'yellow'), each=10))
但是当我保持它的简单和我们这个代码
plot <- ggplot(data=data) +
geom_ribbon(aes(x=x, ymin=lower, ymax=upper, fill=paste0('light',color))) +
geom_line(aes(x=x, y=y, col=color)) +
scale_color_identity() +
scale_fill_identity()
plot您可以使用循环保存一些键入内容
ggplot(data=data) +
purrr::map(.x = split(data, f = data$color),
.f = function(d){
list(geom_ribbon(data=d,aes(x=x, ymin=lower, ymax=upper), fill=paste0('light',unique(d$color))),
geom_line(data=d,aes(x=x, y=y), col=unique(d$color)))
})
我认为如果不写一个结合了色带和线条的新几何图形,这是不可能的
ggplot(data=data) +
purrr::map(.x = split(data, f = data$color),
.f = function(d){
list(geom_ribbon(data=d,aes(x=x, ymin=lower, ymax=upper), fill=paste0('light',unique(d$color))),
geom_line(data=d,aes(x=x, y=y), col=unique(d$color)))
})