使用ggplot2用丝带绘制两条线

时间:2014-12-30 20:13:41

标签: 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)

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

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

如何在一张图表中绘制线条及其色带?

1 个答案:

答案 0 :(得分: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()