如何使用抖动将散点图添加到散点图中

rns*_*nso 22 plot r lattice

我使用以下命令生成带抖动的散点图:

ddf = data.frame(NUMS = rnorm(500), GRP = sample(LETTERS[1:5],500,replace=T))
library(lattice)
stripplot(NUMS~GRP,data=ddf, jitter.data=T)
Run Code Online (Sandbox Code Playgroud)

我想在这些点上添加箱图(每组一个).我尝试搜索,但我无法找到代码绘制所有点(而不仅仅是异常值)和抖动.我该怎么解决这个问题.谢谢你的帮助.

Ric*_*ven 37

这是使用基本图形的一种方式.

boxplot(NUMS ~ GRP, data = ddf, lwd = 2, ylab = 'NUMS')
stripchart(NUMS ~ GRP, vertical = TRUE, data = ddf, 
    method = "jitter", add = TRUE, pch = 20, col = 'blue')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • `stripplot`在`格子`.`stripchart`是一个基本的图形功能. (3认同)
  • `add = TRUE`参数是关键.:) (2认同)

JVL*_*JVL 23

要执行此操作ggplot2,请尝试:

ggplot(ddf, aes(x=GRP, y=NUMS)) + 
  geom_boxplot(outlier.shape=NA) + #avoid plotting outliers twice
  geom_jitter(position=position_jitter(width=.1, height=0))
Run Code Online (Sandbox Code Playgroud)

ggplot2版本的boxplot + jitter

显然你可以position_jitter()根据自己的喜好调整宽度和高度参数(虽然我建议height=0因为高度抖动会使你的情节不准确).