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

ggpubr包ggerrorplot如何修改数据点形状适配黑白印刷

问题原因

shape = "combi"参数未生效有两个核心原因:

  • 当前设置add = "mean"时,默认仅绘制均值点与误差线,不会自动同步映射形状美学到分组变量,需要显式声明形状映射规则,同时搭配对应点绘制参数。
  • R内置形状调色板仅提供6种可区分的默认形状,7个分组需要手动指定形状集合,否则会出现形状重复无法区分的问题。
实现方案

直接调整绘图参数,显式映射形状到分组变量,同时手动指定7种适合黑白印刷的差异化点形状即可,后续添加显著性标记的操作不受影响。
修正后可直接运行的代码如下:

library(ggpubr)

# 测试数据集
subset_PUFA_together <- structure(list(Lipid_Species = structure(c(3L, 3L, 2L, 2L, 3L, 
6L, 4L, 6L, 2L, 5L), .Label = c("LIN", "ALA", "SDA", "EPA", "ARA", 
"DHA"), class = "factor"), isotopic_ratio = c(NA, -47.8432292, 
-40.4566585, -43.2375195, NA, NA, -41.1712774, NA, -38.7533203, 
-45.66419779), combi = structure(c(3L, 4L, 5L, 3L, 2L, 1L, 7L, 
2L, 2L, 3L), .Label = c("Fresh leaves", "Submerged leaves", "Epilithon", 
"Emphemeroptera (Grazer)", "Plecoptera (Shredder)", "Gammarus (Shredder)", 
"Plecoptera (Predator)"), class = "factor")), row.names = c(13802L, 
13874L, 71L, 4L, 14551L, 4956L, 5993L, 4921L, 779L, 887L), class = "data.frame")

# 修正后的绘图代码
ggerrorplot(subset_PUFA_together, x = "Lipid_Species", y = "isotopic_ratio",
            add = c("point", "mean"), # 同时绘制原始散点与分组均值,不需要散点可改回"mean"
            error.plot = "errorbar", 
            color = "combi",
            shape = "combi", # 显式将形状映射到combi分组
            palette = c( "#009E73","#E69F00","#F0E442","#0072B2", "#D55E00", "#CC79A7", "#000000"),
            shape.manual = c(16,17,15,18,3,4,8), # 手动指定7种黑白易区分的点形状
            legend = "right",
            position = position_dodge(width=0.4),
            size = 1.4, 
            xlab = "", 
            ylab = "") 
参数说明
  • shape.manual传入的是ggplot2内置的形状编号,示例选用的实心圆、实心三角、实心方块、实心菱形、十字、叉号、星号7种形状视觉差异大,无彩色印刷时也能清晰区分分组,你可以根据自己的排版需求替换为其他形状编号。
  • 如果不需要展示原始数据散点,仅保留均值点和误差线,把add参数改回"mean"即可,形状映射依然生效。
  • 后续添加ggpubr自带的显著性星号标注时,直接通过+拼接stat_compare_means()函数即可,形状和颜色映射不会干扰显著性标注的正常渲染。

内容的提问来源于stack exchange,提问作者Nadiine El Nino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 09:18:21