我正在尝试为三个因子级别(名为块的因子)中的每一个绘制一条线和两条丝带的图。这是我对 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
正如您在图片中看到的,这是绘图的顺序:
- 浅红色丝带
- 淡蓝色丝带
- 浅绿色丝带
- 深红色丝带
- 深蓝色丝带
- 深绿色丝带
- 红线
- 蓝线
- 绿线
这很丑陋。我想首先为第一个因子水平绘制线条和两条丝带,然后为第二个水平绘制所有这些,然后是第三个。或者,更明确地说,按以下顺序绘制:
- 浅红色丝带
- 深红色丝带
- 红线
- 淡蓝色丝带
- 蓝线
- 深蓝色丝带
- 浅绿色丝带
- 深绿色丝带
- 绿线
在不按因子对数据进行子集化并手动调用几何三次的情况下这样做有什么想法吗?将三个几何图形组合成一个新几何图形也许是一种简单的方法?
谢谢!