ggplot2小提琴图(violin plot)自定义格式调整相关问题
ggplot2小提琴图格式调整实现代码
cbPalette <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7") Dta_lng %>% ggplot(aes(x= Group, y= `Glucose m+6`, shape=Group, color=Group)) + # 调整小提琴宽度,数值可按需修改 geom_violin(width = 0.5) + # 误差栏设置对应配色,宽度同步缩小,位置匹配小提琴对齐 geom_errorbar(stat = "summary", fun.data = "mean_sdl", fun.args = list(mult = 1), width = 0.1, position = position_dodge(width = 0.5)) + # 散点移除固定黑边和固定形状,继承全局映射和均值点保持一致 geom_jitter(width=0.1, alpha=0.6) + ylim(0.0,0.6) + # 统一分组配色和形状规则 scale_color_manual(values=cbPalette) + scale_shape_manual(values = c(16,15)) + theme_classic() + # 均值点继承全局映射,自动匹配分组颜色和形状 stat_summary(fun=mean, geom="point", size=3)
修改说明
- 对应需求1的调整:
- 全局绘图映射新增
color=Group参数,让小提琴轮廓、误差栏、均值点、散点自动匹配对应分组的配色 - 移除
geom_jitter里固定黑色描边的color="black"参数和固定填充形状的pch=21参数,散点形状继承全局shape=Group映射,和均值点形状保持一致 - 新增
scale_shape_manual固定分组对应形状为你要求的16(实心圆)、15(实心方),同步新增scale_color_manual统一所有元素的分组配色 - 将
stat_summary里已弃用的fun.y参数替换为新版ggplot2通用的fun参数,避免运行警告
- 全局绘图映射新增
- 对应需求2的调整:
- 给
geom_violin添加width=0.5参数缩小小提琴整体宽度,数值可根据实际显示效果调整 - 给
geom_errorbar添加width=0.1参数缩小误差栏的横向宽度,同时把position_dodge的宽度参数调整为和小提琴宽度一致的0.5,确保误差栏居中对齐在小提琴内部,不会超出覆盖整个小提琴宽度
- 给
内容的提问来源于stack exchange,提问作者Jago
相关产品推荐
相关产品推荐

