在ggplot中boxplot,很容易使用抖动来添加具有不同程度抖动的原始数据点.零抖动以下代码
dat <- data.frame(group=c('a', 'b', 'c'), values = runif(90))
ggplot(dat, aes(group, values)) +
geom_boxplot(outlier.size = 0) +
geom_jitter(position=position_jitter(width=0), aes(colour=group), alpha=0.7) +
ylim(0, 1) + stat_summary(fun.y=mean, shape=3, col='red', geom='point') +
opts(legend.position = "right") + ylab("values") + xlab("group")
Run Code Online (Sandbox Code Playgroud)
生成下面的图.
是否可以使用零抖动但添加一个偏移量,使得这些点在一条线上但向左移动了25%的盒子宽度?我试图geom_point用dodge但这产生的抖动.
如果我们将组转换为数字然后添加偏移量,您似乎可以获得所需的输出.可能有一种更有效/更有效的方式,但请给它一个旋转:
ggplot(dat, aes(group, values)) +
geom_boxplot(outlier.size = 0) +
geom_point(aes(x = as.numeric(group) + .25, colour=group), alpha=0.7) +
ylim(0, 1) + stat_summary(fun.y=mean, shape=3, col='red', geom='point') +
opts(legend.position = "right") + ylab("values") + xlab("group")
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
5246 次 |
| 最近记录: |