我需要对框线图(子组)进行分组并根据子组所属的组对其进行重新排序。
我使用的R脚本是:
data<-read.delim("clipboard")
p <- ggplot(data, aes(Class2,cM))
p <- p + geom_boxplot(aes(fill = factor(Class1))) +
geom_jitter(alpha = 0.4, position = position_jitter(height = .01, width = .35)) +
coord_flip()
我生成了这个(Class1 = group; Class2 = subgroup)。
请从此处下载数据表。
如您所见,组未在图中组织。如果您能帮助我,我将不胜感激。由于某些子组的值不超过一个,因此我们看不到颜色来指示它们属于哪个组。如果您可以添加标签以显示哪个子组属于哪个组,那就太好了。
谢谢!
请以文本格式提供数据,而不是xls。
解决方案1:将Class2转换为因子并按所需顺序设置级别
data$Class2 <- factor(
data$Class2,
levels = c("group1:b", "group1:c", "group2:a")
)
解决方案2:使用facet_wrap代替填充
ggplot(data, aes(x= Class2, y = cM)) + geom_boxplot() +
geom_jitter(alpha = 0.4, position = position_jitter(height = .01, width = .35)) +
coord_flip() +
facet_wrap(~Class1)
ggplot(data, aes(x= Class2, y = cM)) + geom_boxplot() +
geom_jitter(alpha = 0.4, position = position_jitter(height = .01, width = .35)) +
coord_flip() +
facet_wrap(~Class1, scales = "free_x")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句