pythonic生物人

复现顶刊5张图,值得逐行学习,细节拉满!

本次使用R复现顶刊以下5张图,

Image

这张图由两部分组成:

  • 顶部分面(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) 
Image
  • 使用geom_boxplot实现了boxplot;
  • 使用facet_wrap实现了分面4个子boxplot,关于分面的使用,见教程“9 详解ggplot2—分面(facet)”,
Image

以上的图进一步,

  • 通过breaks和labels自定义x轴刻度标签;
  • 通过theme自定义主题;
  • 通过scale_fill自定义配色;

效果如下,

Image

✅然后,搞定底部个性化散点图

这张图,细节拉满,可以学习大量R ggplot2可视化技巧。

geom_polygon添加多边形区域,

ggplot() +
# 添加RCB分类区域的多边形
  geom_polygon(data = df_poly$RCB_I,   aes(x, y), fill = RCB_COLORS["RCB-I"],   alpha = 0.3)
Image

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
  )
Image

geom_abline添加辅助线,

geom_abline(slope = -1, intercept = RCB_BOUNDARY$cut1, linetype = "dashed", colour = "grey20")
Image

annotate添加散点文本

annotate("text", x = 0.4, y = 0.5, label = "RCB-I", colour = RCB_COLORS["RCB-I"], fontface = "bold")
Image

coord_cartesian设置坐标轴范围,

Image

theme自定义主题;
labs自定义xy轴标题;
scale_fill自定义配色;
。。。。。。

Image

✅最后,将上侧和下侧图拼起来,

ggarrange拼图,

# 将顶部和底部图形垂直组合
ggarrange(
  top_plot,      # 顶部箱线图
  bottom_plot,   # 底部散点图
  nrow    = 2,      # 两行布局
  heights = c(0.95, 1)  
)
Image

本期结束!


获取绘图代码+测试数据+数据处理方法+依赖包安装方法,

👇(备注:299)

图片
-END-
干货👉《保姆级R可视化教程3.0》;《保姆级R可视化教程2.0》;《保姆级R可视化教程》49个章节,数百张图,旨在引导如何系统学习R语言可视化,部分展示如下:
图片
图片
图片
图片
图片
图片
复现效果图-abcd图❤️
复现效果图-b图❤️
图片
❤️复现效果图-ABCD图❤️
图片
❤️复现效果图-bcd图❤️
图片
图片
❤️复现效果图-b图❤️
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片

图片

图片
图片

(加入学习,备注:299)

图片