首页 文章

使用stat_summary在ggplot中使用相同的填充和边框分隔形状

提问于
浏览
1

我想用stat_summary在ggplot中获得一个线点图 . 我想为每个组分别设置形状,但形状为白色填充和黑色边框 . 如果首先创建一个均值表并使用geom_point()将其用作数据帧,这很容易 . 但我希望能够使用stat_summary执行此操作 .

df <- data.frame(day = rep(0:3, times = 12), score = rnorm(48,5,1), group = rep(letters[1:3], each = 4, times = 4))

ggplot(df, aes(x = day, y = score)) +
       stat_summary(fun.y = "mean", geom = "line", aes(linetype = group)) +
       stat_summary(fun.y = "mean", geom = "point", aes(shape = group), size = 4)

我尝试手动输入"white"到scale_shape_manual的values参数但是不起作用(产生白色填充但使所有形状相同并且没有黑色边框) . 如果我将 colour = group 作为审美参数添加到'point' stat_summary图层,它会给我不同的颜色 .

有没有办法为每个组获得不同形状的点,但是有白色填充和黑色边框?

1 回答

  • 1

    你可以试试:

    ggplot(df, aes(x = day, y = score)) +
        stat_summary(fun.y = "mean", geom = "line", aes(linetype = group)) +
        stat_summary(fun.y = "mean", geom = "point", aes(shape = group), size = 4, col="black", fill="white")+
      scale_shape_manual(values = 21:23)
    

    enter image description here

相关问题