复现顶刊5张图,值得逐行学习,细节拉满!
本次使用R复现顶刊以下5张图,
这张图由两部分组成:
顶部分面(1行x4列)箱线图 底部多边形区域和散点图
✅首先,搞定顶部分面图
ggplot(rcbm_data, aes(x = RCB.category, y = value, fill = RCB.category)) +
geom_boxplot(width = 0.5, outlier.size = 0.7) +
facet_wrap(~variable, scales = "free", ncol = 4)
使用geom_boxplot实现了boxplot; 使用facet_wrap实现了分面4个子boxplot,关于分面的使用,见教程 “9 详解ggplot2—分面(facet)”,
以上的图进一步,
通过breaks和labels自定义x轴刻度标签; 通过theme自定义主题; 通过scale_fill自定义配色;
效果如下,
✅然后,搞定底部个性化散点图
这张图,细节拉满,可以学习大量R ggplot2可视化技巧。
geom_polygon添加多边形区域,
ggplot() +
# 添加RCB分类区域的多边形
geom_polygon(data = df_poly$RCB_I, aes(x, y), fill = RCB_COLORS["RCB-I"], alpha = 0.3)
geom_point添加散点,点样式个性化,
geom_point(
data = subset(rcb_data, pCR.RD != "pCR"), # 过滤非pCR数据
aes(x = var.tumour, y = var.ln, fill = RCB.category), # 美学映射:肿瘤得分vs淋巴结得分
shape = 21, colour = "black", size = 1.5# 点样式:圆形填充,黑色边框,大小1.5
)
geom_abline添加辅助线,
geom_abline(slope = -1, intercept = RCB_BOUNDARY$cut1, linetype = "dashed", colour = "grey20")
annotate添加散点文本
annotate("text", x = 0.4, y = 0.5, label = "RCB-I", colour = RCB_COLORS["RCB-I"], fontface = "bold")
coord_cartesian设置坐标轴范围,
theme自定义主题;
labs自定义xy轴标题;
scale_fill自定义配色;
。。。。。。
✅最后,将上侧和下侧图拼起来,
ggarrange拼图,
# 将顶部和底部图形垂直组合
ggarrange(
top_plot, # 顶部箱线图
bottom_plot, # 底部散点图
nrow = 2, # 两行布局
heights = c(0.95, 1)
)
本期结束!
获取绘图代码+测试数据+数据处理方法+依赖包安装方法,
👇(备注:299)
干货👉《保姆级R可视化教程3.0》;《保姆级R可视化教程2.0》;《保姆级R可视化教程》49个章节,数百张图,旨在引导如何系统学习R语言可视化,部分展示如下:



























(加入学习,备注:299)
