我有一个带有公制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
如何在一张图表中绘制线条及其色带?
答案 0 :(得分:6)
以下是添加功能区的方法。当然,您可以更改ymin
和ymax
的公式以满足您的需求:
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()