我正在使用ggpubr包来用ggboxplot做箱形图。关于如何增加相邻箱图之间距离的任何建议?
我已经使用R几周了,我知道我的脚本可能写得更好。
我的代码:
flowdata <- read.csv("flowdata.csv", header = TRUE, sep = ";")
flowdata$Haplotype = factor(flowdata$Haplotype,levels(flowdata$Haplotype)
[c(5,1,2,3,4,6)])
library(ggpubr)
p<-ggboxplot(flowdata, x="TP", y="Treg", add = "jitter",width = 0.5, shape
= "Treatment", fill = "Haplotype", palette = c("#0092d1","#62b232","#b23a32","#b232a3","#99cccc","#132a64"))+scale_shape_manual(values = c(21,23))
p1<-p+theme(legend.title = element_blank(), legend.text = element_text(size=8), text = element_text(family = "Calibri"), axis.text.x = element_text(angle = 45, hjust = 1))+ labs(x = expression(paste("")),
y = expression(paste(CD4^+{}, CD25^+{}, "cells/µL")))
p1
答案 0 :(得分:1)
参数'width'指定框的宽度,因此一个简单的解决方案是减少该值(从0.5开始)。这不会增加盒子的间距,但会增加之间的间距,从而使盒子更窄。
然而,在我看来,你的箱形图很好,但你的点(抖动)是重叠的,使图形看起来很乱。一个更简单的解决方案是删除它们,或将它们更改为点而不是抖动。或者你可以使用小提琴情节。
为了更精细的控制,可以使用'标准'ggplot2,也许使用可以为您提供格式的牛仔图:
p <- ggplot(data = flowdata, mapping = aes(x = TP, y = Treg, fill = Haplotype)) +
geom_boxplot(position = position_dodge(0.5)) +
geom_jitter(aes(shape = Treatment)) +
scale_shape_manual(c(21, 23)) +
scale_fill_manual(c("#0092d1","#62b232","#b23a32","#b232a3","#99cccc","#132a64")) +
theme(legend.title = element_blank(), legend.text = element_text(size=8), text = element_text(family = "Calibri"), axis.text.x = element_text(angle = 45, hjust = 1)) +
labs(x = expression(paste("")), y = expression(paste(CD4^+{}, CD25^+{}, "cells/µL")))
答案 1 :(得分:0)
在亚当斯回答的基础上,我还建议你将箱形图分成几个方面,这样情节实际上是可读的。我认为单倍型可能是有趣的方面。此外,您可以减少抖动点的size
或获得一些透明度alpha
以使它们不那么存在,但是对于方面来说,箱线图已经更大,因此这可以解决可读性问题本身。
p <- ggplot(flowdata, aes(x = TP, y = Treg)) +
geom_boxplot(position = position_dodge(0.5)) +
geom_jitter(aes(shape = Treatment), size = 0.5, alpha = 0.8) +
facet_wrap(~Haplotype, ncol = 3) +
scale_shape_manual(c(21, 23)) +
theme(legend.title = element_blank(),
legend.text = element_text(size=8),
text = element_text(family = "Calibri"),
axis.text.x = element_text(angle = 45, hjust = 1)) +
labs(x = "",
y = expression(paste(CD4^+{}, CD25^+{}, "cells/µL")))