ggplot2 boxplot的宽度

bsm*_*ith 8 r ggplot2 boxplot

我试图制作两个独立的情节,我想在我的海报中并排呈现(我需要将它们分开并且不能使用facet_wrap).其中一个地块有几个箱图,而第二个地块只有一个.我如何操纵箱形图的宽度,使得第二个箱形图与图1中任何一个单独的箱形图的宽度相同,当我将两个图并排放置时?一个可重复的例子:

tvalues <- sample(1:10000,1200)
sex <- c(rep('M',600),rep('F',600))
region <- c('R1','R2','R3','R4','R5')
df1 <- data.frame(tvalues,sex,region)

tvalues2 <- sample(1:10000,200)
sex2 <- sample(c('M','F'),200,replace=T)
region2 <- 'R6'
df2 <- data.frame(tvalues2,sex2,region2)

p1 <- ggplot(data=df1,aes(x=region,y=tvalues,color=sex)) + 
geom_boxplot(width=0.5)
p2 <- ggplot(data=df2,aes(x=region2,y=tvalues2,color=sex2)) + 
geom_boxplot(width=0.5)
Run Code Online (Sandbox Code Playgroud)

情节1 情节1:

Plot2 情节2:

Mar*_*dri 13

我建议将第二个图中框的宽度除以region第一个图中的类别数.

p2 <- ggplot(data=df2,aes(x=region2,y=tvalues2,color=sex2)) + 
geom_boxplot(width=0.5/length(unique(df1$region)))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述