R 箱线图添加截止

R boxplot add cut off

我使用 boxplot 然后 add 创建一组并排比较。然而,最后一个盒子被切成两半。见下文:

这是我使用的代码:

boxplot(mydf$Prop ~ mydf$Id,at=c(1,4,7))
boxplot(mydf$Prop2 ~ mydf$Id,at=c(2,5,8),add = TRUE)

有什么想法吗?

您需要调整 xlim 参数,以便为绘图腾出空间:

boxplot(mydf$Prop ~ mydf$Id,at=c(1,4,7),xlim=c(0.5,8.5))
boxplot(mydf$Prop2 ~ mydf$Id,at=c(2,5,8),add = TRUE)

作为替代方案,您可以稍微调整数据框并使用 ggplot2,这样您就不必担心添加到绘图和调整限制:

library(reshape2)
library(ggplot2)

df <- melt(mydf,id.var="Id")
df$Id <- as.factor(df$Id)

ggplot(df,aes(x=Id,y=value,group=interaction(variable,Id),fill=variable))+
  geom_boxplot(width=0.45,position=position_dodge(width=0.5))+theme_bw()+
  labs(fill="")

缺点是学习新的图形范式,有时调用时间更长,但您可能会发现有很大的好处。