10

我正在使用下面的代码随着时间的推移绘制一系列均值和标准偏差,并尝试使用 geom_ribbon 来显示 sd,见下文。

由于显着重叠,我想为色带添加一个与相应变量颜色相同但为虚线的边框,但我无法弄清楚代码中的哪个位置。我知道以某种方式涉及“颜色”和“线型”命令......

谢谢!

graph.msd <- ggplot(data=g.data, aes(x=quarter,y=mean,group=number)) 
graph.msd <- graph.msd + geom_line(aes(colour = number),size=1)+geom_ribbon(aes(ymin=mean-sd,ymax=mean+sd,fill=number),linetype=2,alpha=0.1)
4

1 回答 1

16

您需要将值传递 colour给类似的geom_ribbon东西

graph.msd <- graph.msd + 
 geom_line(aes(colour = number),size=1)+
 geom_ribbon(aes(ymin = mean-sd, ymax = mean+sd, 
                 fill = number,colour = number), linetype=2, alpha=0.1)

带有可重现的示例(使用示例中的变体?geom_ribbon

huron <- data.frame(year = 1875:1972, level = as.vector(LakeHuron))
library(plyr) # to access round_any
huron$decade <- round_any(huron$year, 10, floor)

ggplot(huron, aes(x =year, group = decade)) + 
  geom_ribbon(aes(ymin = level-1, ymax = level+1, 
      colour = factor(decade), fill = factor(decade)), 
    linetype = 2, alpha= 0.1)

在此处输入图像描述

于 2013-03-20T01:10:08.283 回答