在阅读科学论文时,我经常看到绘制了点而没有重叠的抖动图。我怀疑其中许多是使用一个名为GraphPad Prism的程序绘制的,但肯定有一种方法可以在R中实现相同的效果。虽然它不是完美的(如下面的红点),但我认为它比随机抖动要好。
如果有人知道如何做到这一点,并且最好使用一些基本的函数,我会非常高兴知道。
在阅读科学论文时,我经常看到绘制了点而没有重叠的抖动图。我怀疑其中许多是使用一个名为GraphPad Prism的程序绘制的,但肯定有一种方法可以在R中实现相同的效果。虽然它不是完美的(如下面的红点),但我认为它比随机抖动要好。
如果有人知道如何做到这一点,并且最好使用一些基本的函数,我会非常高兴知道。
geom_dotplot()
的ggplot2解决方案:library(ggplot2)
set.seed(1234)
dat = data.frame(y=c(rpois(20, 4), rpois(20, 1), runif(20, 0, 20)),
category=rep(c("group_1", "group_2", "group_3"), c(20, 20, 20)))
dotplot_1 = ggplot(dat, aes(x=category, y=y)) +
geom_dotplot(aes(fill=category), binaxis="y",
stackdir="center", binwidth=0.8) +
stat_summary(fun.y=median, fun.ymin=median, fun.ymax=median,
geom="crossbar", width=0.7)
ggsave("dotplot_1.png", dotplot_1, width=6, height=4)