You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 13:36:09