gpt4 book ai didi

r - ggplot2 - 抖动和位置躲避在一起

转载 作者:行者123 更新时间:2023-12-03 01:11:41 28 4
gpt4 key购买 nike

我正在尝试重新创建 GGplot2 研讨会上的图形 http://dl.dropbox.com/u/42707925/ggplot2/ggplot2slides.pdf

在本例中,我尝试生成示例 5,其中抖动的数据点受到躲避。当我运行代码时,这些点以正确的线为中心,但没有抖动。

这是直接来自演示文稿的代码。

set.seed(12345)
hillest<-c(rep(1.1,100*4*3)+rnorm(100*4*3,sd=0.2),
rep(1.9,100*4*3)+rnorm(100*4*3,sd=0.2))
rep<-rep(1:100,4*3*2)
process<-rep(rep(c("Process 1","Process 2","Process 3","Process 4"),each=100),3*2)
memorypar<-rep(rep(c("0.1","0.2","0.3"),each=4*100),2)
tailindex<-rep(c("1.1","1.9"),each=3*4*100)
ex5<-data.frame(hillest=hillest,rep=rep,process=process,memorypar=memorypar, tailindex=tailindex)
stat_sum_df <- function(fun, geom="crossbar", ...) {stat_summary(fun.data=fun, geom=geom, ...) }

dodge <- position_dodge(width=0.9)
p<- ggplot(ex5,aes(x=tailindex ,y=hillest,color=memorypar))
p<- p + facet_wrap(~process,nrow=2) + geom_jitter(position=dodge) +geom_boxplot(position=dodge)
p

最佳答案

ggplot2版本1.0.0中,有一个名为position_jitterdodge()的新位置就是针对这种情况而设计的。这个位置应该在geom_point()内部使用,并且应该在aes()内部使用fill=来显示要躲避的变量您的数据。要控制躲避参数的宽度,应使用dodge.width=

ggplot(ex5, aes(x=tailindex, y=hillest, color=memorypar, fill=memorypar)) +
facet_wrap(~process, nrow=2) +
geom_point(position=position_jitterdodge(dodge.width=0.9)) +
geom_boxplot(fill="white", outlier.colour=NA, position=position_dodge(width=0.9))

enter image description here

关于r - ggplot2 - 抖动和位置躲避在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10493084/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com