使用ggplot2用丝带绘制两条线

ADJ*_*ADJ 4 r ggplot2 confidence-interval

我有一个带有公制v和分类变量t的数据框.我可以将它们绘制成这样的线条

set.seed(42)
v <- runif(20, min=0, max=100)
t <- sample( LETTERS[1:2], 20, replace=TRUE )

df <- data.frame(v,t)

qplot(1:length(v),v,data=df,geom="line",group=t,color=t)
Run Code Online (Sandbox Code Playgroud)

我想在每条线上添加色带.可能有不同的宽度(我将用公式设置)和透明度.我试图用"功能区"替换geom但我收到以下错误:

qplot(1:length(v),v,data=df,geom="ribbon",group=t,color=t)
Error: geom_ribbon requires the following missing aesthetics: ymin, ymax
Run Code Online (Sandbox Code Playgroud)

如何在一个图表中绘制两条线和它们的色带?

eip*_*i10 6

以下是添加功能区的方法.当然,您可以更改公式yminymax满足您的需求:

ggplot(df, aes(x=1:length(v), y=v, group=t, colour=t)) + 
  geom_ribbon(aes(ymin=v-0.1*v, ymax=v+0.1*v, fill=t), alpha=0.2) +
  geom_line()
Run Code Online (Sandbox Code Playgroud)