ggplot2中如何调整Boxplot与Violinplot实现对齐重叠?
问题原因
你的代码存在两个问题导致图形偏移:
- 全局映射的写法有误,未正确指定分组映射的对应字段
geom_violin和geom_boxplot默认的分组闪避宽度不一致,两个图层的偏移量不匹配
修复方案
统一两个图层的位置闪避参数,同时修正映射写法即可,修改后的代码如下:
Violin_plot <- ggplot(DF_combine, aes(x = Time, y = signal, fill = factor(Duplicate)))+ geom_violin(width = 0.6, color = "#535352", position = position_dodge(width = 0.6))+ geom_boxplot(width = 0.2, color = "#535352", notch = T, position = position_dodge(width = 0.6)) + scale_fill_brewer(palette = "Blues")
参数说明
position_dodge(width = 0.6)指定分组闪避的宽度和小提琴图的宽度保持一致,保证箱线图刚好落在对应小提琴图的中心位置- 把
factor(Duplicate)放到全局的fill映射里,避免多余的未命名映射导致的分组逻辑错误
内容的提问来源于stack exchange,提问作者NyanCat
相关产品推荐
相关产品推荐

