【发布时间】:2020-07-28 16:39:05
【问题描述】:
我想用 ggplot 创建小提琴和点图的组合。这个想法是在必要时将点向左和向右移动,以避免重叠。
我知道 geom_dotplot 会这样做(左示例),但它也会将 y 轴上的点分组,这是我不想要的(给人的印象是 y 不连续)。 geom_jitter 也有效,但它会抖动值,而与相应的密度无关。
所以我理想的情节是 geom_dotplot 形式的 x 位置,但具有真正的 y 位置。有没有办法用 ggplot 来实现?
library(ggplot2)
data <- data.frame(values=c(rnorm(100, mean = 0),rnorm(100, mean = 1)), typ= c(rep("A",100),rep("B",100)))
ggplot(data, aes(x=typ,y=values))+
geom_violin()+
geom_dotplot(binaxis="y",stackdir='center',binwidth = 0.1)
ggplot(data, aes(x=typ,y=values))+
geom_violin()+
geom_jitter(width = 0.2)
提前致谢。
【问题讨论】:
-
ggbeeswarm 包是你的朋友。 cran.r-project.org/web/packages/ggbeeswarm/vignettes/…
-
相关,如果不重复:stackoverflow.com/q/57445054/7941188
-
ggforce::geom_sina()可以做到这一点