stat_summary中的色带使用组的不同颜色

时间:2019-07-17 20:41:34

标签: r ggplot2 colors

我试图显示数据集的均值和标准差,我想在其中将std显示为功能区。数据集分为三组,均值按预期以三种不同的颜色显示,而std色带则没有。

代码:

mtcars$cyl <- as.factor(mtcars$cyl)

plot1 <- ggplot(mtcars, aes(x=gear, y=hp, color=cyl)) + geom_point() +
          stat_summary(geom='ribbon', fun.data = mean_cl_normal, fun.args=list(conf.int=0.95)) +
          stat_summary(geom='line', fun.y = mean, size=1)
plot1

我没有足够的声誉来发布图像,但是色带全是黑色的。我感到困惑的是,为什么平均线似乎完美地映射到cyl-factor定义的三个组,并且这些线具有三种颜色,而色带却没有。

编辑:

1 个答案:

答案 0 :(得分:1)

要为色带上色,您需要添加fill的美感(与col不同):

mtcars$cyl <- as.factor(mtcars$cyl)

plot1 <- ggplot(mtcars, aes(x=gear, 
                            y=hp,
                            color=cyl,  # color gives colour of lines and borders
                            fill = cyl)) +  # fill colours the ribbons and other shapes
  geom_point() +
  stat_summary(geom='ribbon', 
               fun.data = mean_cl_normal, 
               fun.args=list(conf.int=0.95),
               alpha = 0.5) +  # added transparency
  stat_summary(geom='line',
               fun.y = mean, size=1)

plot1

enter image description here