如何在 geom_violin 图中保留彩色 geom_sina 点?

问题描述

我通过结合 geom_violin 和 geom_sina 成功地抖动了小提琴中的点(上图中的左图),但是当我尝试为这些点着色时,它们在小提琴外的几列上抖动(上图中的右图)。

enter image description here

我想要的是带有彩色点的左图(我不在乎它们是否混合(我的意思是不按颜色分组)。

这是一个使用 mtcars 数据集的演示脚本(我不知道 mtcars 数据集的详细信息,如果我对变量做了一些疯狂的使用,请道歉)。

library(ggplot2)  
library(ggforce)

data(mtcars)

p <- ggplot(mtcars,aes(x=factor(vs),y=mpg)) + geom_violin()

p + geom_sina(alpha = 0.5)
p + geom_sina(aes(colour = factor(cyl)),alpha = 0.5)

解决方法

感谢 teunbrand。

p + geom_sina(aes(colour = factor(cyl),group = factor(vs)),alpha = 0.5)

成功了。