添加抖动到ggpaired

时间:2017-12-31 13:20:59

标签: r ggplot2 boxplot jitter

ggpubr包提供函数ggpaired来绘制配对数据。 它没有[{1}}选项add='jitter'

是否有可能通过不同的方式达到类似的效果?

文档中的示例:

ggboxplot

1 个答案:

答案 0 :(得分:3)

以下是一些类似于ggpaired生成但与抖动点相似的情节的想法。

library(ggplot2)
before <- c(200.1, 190.9, 192.7, 213, 241.4, 196.9, 172.2, 185.5, 205.2, 193.7)
after <- c(392.9, 393.2, 345.1, 393, 434, 427.9, 422, 383.9, 392.3, 352.2)
n <- length(before)
d <- data.frame(y = c(before, after), 
                x = rep(c(1,2), each=n),
                id = factor(rep(1:n,2)))

set.seed(321)    
d$xj <- jitter(d$x, amount=.03)
ggplot(data=d, aes(y=y)) +
  geom_boxplot(aes(x=x, group=x), width=0.2, outlier.shape = NA) +
  geom_point(aes(x=xj)) +
  geom_line(aes(x=xj, group=id)) +
  xlab("Condition") + ylab("Value") +
  scale_x_continuous(breaks=c(1,2), labels=c("Before", "After"), limits=c(0.5, 2.5)) +
  theme_bw()

enter image description here