当前位置: 首页 > news >正文

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, mapping=aes(x=AUROC, y=Gene, color=ENC), shape=21, stroke=1.5, size=2) + geom_point(data2, mapping=aes(x=AUROC, y=Gene), shape=23, fill="black", size=4) + geom_point(data2, mapping=aes(x=AUROC, y=Gene), shape=23, fill="red", size=2) + 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(color=guide_legend(nrow = 1)) p2 <- ggplot(data2, aes(x=1, y=Gene)) + geom_tile(fill = col2, color="white", 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
步骤1

5. 保存图形

接下来我们通过下面的代码来保存绘制的图形:

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文档,代码一键复制交互式阅读提高用户体验

http://www.jsqmd.com/news/1069217/

相关文章:

  • 计算机毕业设计之二手电脑配件网站
  • BetterNCM Installer II终极指南:3分钟快速安装网易云音乐插件管理器
  • Switch手柄PC适配技术深度解析:用BetterJoy解锁任天堂硬件的完整潜能
  • 免费终极MP4视频修复指南:3分钟拯救损坏的视频文件
  • 如何实现嵌入式系统数据实时监控:开源串口可视化工具深度解析
  • SMT换线效率瓶颈分析:从“人找料“到“料找人“的工程实践
  • 半导体核心零部件突围:国产精密阀门技术迭代与产业落地新进程
  • 儿童乐园线上门店榜单诊断SOP
  • PUBG压枪秘籍:用罗技鼠标宏轻松驯服后坐力
  • 本地生活门店回头客榜的运营诊断模型
  • Ai Three.js编辑器
  • 三月七小助手:每天为你节省2小时游戏时间的崩坏星穹铁道自动化工具
  • DBCO-PEG-SH 巯基聚乙二醇二苯并环辛炔 Thiol-PEG-DBCO 储存条件与保存管理
  • 5分钟搞定3DS游戏格式难题:3dsconv转换工具终极指南
  • Wand-Enhancer:终极免费解锁Wand专业版功能的完整指南
  • ImageGlass:重新定义你的图像浏览体验
  • 基于助睿的自媒体多平台数据清洗实验
  • 飞时达FastTFT v17.1安装包免费下载及详细安装教程
  • es阅读瓶颈分析
  • Java并发基础+进阶 小白完整版(统一是什么+为什么+怎么运行)
  • 数字人直播哪个公司好
  • AI写教材必备攻略:掌握技巧,借助工具达成低查重教材编写
  • 终极指南:用TegraRcmGUI轻松解锁Switch隐藏功能
  • AI任务分类与需求分析
  • 3分钟搞定!TranslucentTB让Windows任务栏变身透明神器
  • WechatApi客户管理与 AI 客服如何深度融合?
  • 微信数据自主管理终极方案:WeChatExporter一站式备份与导出实战指南
  • 从17.3%到40.3%:企业AI Agent加速落地后,运行安全会成为分水岭
  • 从产品想法到专利保护,AI专利撰写工具能做什么?
  • 背包九讲完全背包 转化为01背包问题求解 数学原理