【发布时间】:2020-06-01 12:15:45
【问题描述】:
我正在尝试为三个因子水平(因子命名块)中的每一个绘制一条线和两条丝带的图。这是我对 ggplot2 的调用:
ggplot(df, aes(x = x, y = y, fill = block, color = block)) +
geom_ribbon(aes(ymin = llb, ymax = uub), alpha = .1, color = NA) +
geom_ribbon(aes(ymin = lb, ymax = ub), alpha = .5, color = NA) +
geom_line(size = 2)
这是我得到的: graph a better example added in later edit
如图所示,这是绘制的顺序:
- 浅红丝带
- 浅蓝色丝带
- 浅绿色丝带
- 深红丝带
- 深蓝色丝带
- 深绿色丝带
- 红线
- 蓝线
- 绿线
这很难看。我想首先为第一个因子水平绘制线条和两条丝带,然后为第二个水平绘制所有这些,然后是第三个。或者,更明确地说,按以下顺序绘制:
- 浅红丝带
- 深红丝带
- 红线
- 浅蓝色丝带
- 蓝线
- 深蓝色丝带
- 浅绿色丝带
- 深绿色丝带
- 绿线
在不按因子对数据进行子集化并手动调用 geoms 三次的情况下这样做有什么想法吗?也许是将三个几何图形组合成一个新几何图形的简单方法?
谢谢!
【问题讨论】:
标签: r ggplot2 geom-ribbon