ggplot2绘制箱线图时如何让高亮标记的样本点居中显示
你遇到的偏移问题根源是:当x轴为通路(Pathway)、同时按组织类型(TissueType)分组绘制箱线图时,geom_boxplot默认会使用position_dodge()对同一通路下的两个分组箱线做位置偏移,避免重叠。但你后续添加的标记点图层没有设置相同的偏移规则,所以点的位置没有和对应分组的箱线对齐。
调整后的完整代码如下:
ggplot(df, aes(x=Pathway, y=Activity, fill=TissueType)) + geom_boxplot(outlier.shape = NA, position = position_dodge(width = 0.75)) + scale_fill_manual(values = c("#7CCD7C" ,"#D8BFD8")) + geom_point(data = df[which(df$SampleName %like% "G"),], aes(Pathway, Activity, group = TissueType), fill = '#d51030', color = '#d53010', size=3, shape = 24, position = position_dodge(width = 0.75)) + theme_bw()
补充说明:
- 核心调整是给
geom_boxplot和geom_point设置完全相同的position_dodge(width)参数,默认箱线图的dodge宽度为0.75,你可以根据自己的图面箱线宽度调整这个数值,只要两个图层的width保持一致即可。 - 注意要在
geom_point的aes中明确指定group = TissueType,确保程序识别到需要按组织类型分组做偏移。
内容的提问来源于stack exchange,提问作者biobudhan
相关产品推荐
相关产品推荐

