我想在R
中使用ggplot2
将多个箱线图上下堆叠而不是并排绘制。这里是一个例子:
library("ggplot2")
set.seed(1)
plot_data<-data.frame(loc=c(rep(1,200),rep(2,100)),
value=c(rnorm(100,3,.5),rnorm(100,1,.25),2*runif(100)),
class=c(rep("A",100),rep("B",100),rep("C",100)))
ggplot(plot_data,aes(x=loc,y=value,group=class)) +
geom_boxplot(fill=c("red","green","blue"))
这导致以下绘图:
如您所见,蓝色的箱线图以其loc
值(2.0)为中心,而红色和绿色的箱线图仅有一半的宽度,并分别在它们共享的loc
值(1.0)的左侧和右侧绘制。
我想使它们的宽度与蓝色的相同,并将它们直接垂直排列在一起。
我该如何实现这个目标?
请注意,我确定要可视化的数据不会重叠,就像给出的示例数据一样。
position="identity"
那么清晰,但是position=position_dodge(0)
似乎是等效的。 - mschilli