如何使用ggplot2合并两个箱线图并添加不同颜色的抖动点
实现方案
步骤1:合并数据集
ggplot2要求输入为合并的长表数据,首先将两组数据拼接:
# 加载所需包 library(ggplot2) # 拼接对照组和实验组数据 plot_data <- rbind(con, exp)
步骤2:绘制带抖动点的合并箱线图
直接映射group字段为分组变量,配色与你原有基础绘图设置保持一致:
ggplot(plot_data, aes(x = group, y = mean, fill = group)) + # 绘制箱线图,设置透明度避免遮挡抖动点 geom_boxplot(alpha = 0.7, show.legend = FALSE) + # 绘制抖动点,调整横向偏移幅度避免重叠 geom_jitter(aes(color = group), width = 0.2, size = 2, alpha = 0.8, show.legend = FALSE) + # 自定义配色匹配原始需求 scale_fill_manual(values = c("Leadership Con" = "#1ABC9C", "Leadership Exp" = "#E74C3C")) + scale_color_manual(values = c("Leadership Con" = "#1ABC9C", "Leadership Exp" = "#E74C3C")) + # 设置坐标轴标签 labs( x = "", y = "Mean of Improvement (post-test - pre-test)" ) + # 简洁主题适配基础绘图风格 theme_classic()
可调参数说明
geom_jitter的width参数控制抖动点的横向偏移范围,数值越大点越分散,可根据显示效果调整alpha参数控制元素透明度,避免点重叠时看不清分布规律- 如需展示图例,删除
show.legend = FALSE参数即可
内容的提问来源于stack exchange,提问作者Faisal Mustafa
相关产品推荐
相关产品推荐

