Nature 绘图复现 | 基因家族散点图

发布时间:2026/6/23 21:11:23
Nature 绘图复现 | 基因家族散点图 在发表科研论文的过程中科研绘图是必不可少的而提升绘图水平最直接的方法就是跟着顶刊学习。为了便于使用本系列文章介绍的所有绘图都已收录到了CNSplot项目中本期我们复现的是 2020 年发表在Nature Neuroscience上的一篇期刊的Figure 2G。我们先来欣赏下期刊的原图期刊原图原图解读该图展示了选定的得分排名靠前的基因家族按平均AUROC进行排序。大多数富集的基因家族可以根据它们的转录、粘附和信号活动进行分类。1. 导入包我们首先导入本期绘图用到的 R 包library(ggplot2) library(tidyr) library(dplyr) library(patchwork)2. 准备数据接下来我们导入绘图用到的数据在CNSplot中给大家提供了测试数据data - read.csv(../data/018-plot/018-data.csv, row.names 1) colnames(data) - 1:12 data$Gene - rownames(data) data1 - pivot_longer(data, !Gene, names_to ENC, values_to AUROC) data1$Gene - factor(data1$Gene, levels rev(rownames(data))) data1$ENC - factor(data1$ENC, levels colnames(data)) # 制作均值数据 data2 - as.data.frame(rowMeans(data[,1:12])) colnames(data2) - AUROC data2$Gene - rownames(data2) data2$Gene - factor(data2$Gene, levels rev(data2$Gene))3. 准备配色接下来我们设置绘图用到的配色col1 - c(#b2deed,#9eb6cc,#65a8db,#59c4c3,#da4d91,#a0cc59,#fdbf24, #e8957a,#ff7f50,#ccb995,#cb81b6,#58bc7d) col2 - c(#6ec9f2,#f47e20,#a271af,#f47e20,#a271af,#f47e20,#f47e20, #0f7f80,#0f7f80,#7d1316,#a271af,#6167ae,#6167ae,#6ec9f2, #0f7f80,#a271af,#b2b3b1,#a271af,#6ec9f2,#a271af,#f47e20, #a271af,#b2b3b1,#6167ae,#7d1316,#0f7f80,#7d1316)4. 绘制图形接下来我们通过下面的代码来绘制图形p1 - ggplot() geom_point(data1, mappingaes(xAUROC, yGene, colorENC), shape21, stroke1.5, size2) geom_point(data2, mappingaes(xAUROC, yGene), shape23, fillblack, size4) geom_point(data2, mappingaes(xAUROC, yGene), shape23, fillred, size2) theme_classic(base_size 15) theme(legend.position bottom, axis.text.y element_blank(), axis.title.y element_blank(), axis.text.x element_text(color black)) scale_color_manual(values col1) guides(colorguide_legend(nrow 1)) p2 - ggplot(data2, aes(x1, yGene)) geom_tile(fill col2, colorwhite, linewidth 2) theme_void(base_size 15) theme(axis.text.y element_text(color black, hjust 1)) p - p2 p1 plot_layout(widths c(0.07,1)) p步骤15. 保存图形接下来我们通过下面的代码来保存绘制的图形ggsave(../save/018/018-figure.pdf, p, width 8, height 8, dpi 300)6. Illustrator 修饰最后我们将保存的 pdf 文件导入 Adobe Illustrator稍加修饰即可。AI 修饰的详细步骤见视频video/018.mp4。我们调整下图例的对齐和文本大小步骤2完成后保存 pdf 文件Adobe Illustrator 修饰好的绘图都保存为 pdf 文件在 CNSplot 项目的 data 文件夹中给大家提供位于文件data/018-plot/018-figure.pdf通过 Adobe Illustrator 打开即可修改。我们看一下最后的绘图效果绘图复现由于绘图数据是根据原图生成的模拟数据因此跟原图可能不完全一致但是基本上已经成功复现了绘图。CNSplot 介绍CNSplot专门针对科研绘图中的高级复杂图形包含了以下内容①50个顶刊绘图复现包含各种高级复杂图形② 每个绘图都提供了测试数据/模板文③ 每个绘图都配套了视频教程④ 配备一站式html文档代码一键复制交互式阅读提高用户体验