使用ggplot2手动着色置信区间

时间:2013-05-09 13:47:29

标签: r ggplot2

我手动创建了一个预期寿命数据集,伴随着95%的置信区间。我在时间尺度上绘制这些图,但更喜欢用阴影而不是虚线。代码显示:

p1 = ggplot()
p2 = p1 + geom_line(aes(x=pl$Time, y=pl$menle), colour="blue")
p3 = p2 + geom_line(aes(x=pl$Time, y=pl$menlelb), colour="blue", lty="dotted")
p4 = p3 + geom_line(aes(x=pl$Time, y=pl$menleub), colour="blue", lty="dotted")

是否有一种简单的方法来遮蔽间隔而不是只有线? 如果我遗漏了一些简单的事情,我会提前道歉,但我找不到任何表明这样做的简单方法。

1 个答案:

答案 0 :(得分:33)

如果您提供了自己的数据会很有帮助,但我认为以下内容符合您的要求。

首先,创建一些虚拟数据:

##I presume the lb and ub are lower/upper bound
pl = data.frame(Time = 0:10, menle = rnorm(11))
pl$menlelb = pl$menle -1
pl$menleub = pl$menle +1

然后创建情节。阴影区域使用geom_ribbon

创建
ggplot(pl, aes(Time)) + 
  geom_line(aes(y=menle), colour="blue") + 
  geom_ribbon(aes(ymin=menlelb, ymax=menleub), alpha=0.2)

enter image description here