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

相关新闻

微信聊天记录删了还能恢复吗?官方免费方法 + 专业第三方恢复渠道详解

微信聊天记录删了还能恢复吗?官方免费方法 + 专业第三方恢复渠道详解

生活中不少人会因清理内存、手滑误删、换机重装微信丢失重要聊天记录,转账凭证、合同沟通、家人回忆、工作资料全部无法查看。根据腾讯官方公开说明,微信不会在服务器永久储存用户私聊数据,所有聊天内容仅保存在本地手机设备中,删…

2026/6/24 22:59:11阅读更多 →
基于助睿的自媒体多平台数据清洗实验

基于助睿的自媒体多平台数据清洗实验

1 实验目的本实验依托全班同学多平台自媒体作品互动原始数据集,借助助睿 ETL 工具完成多源数据抽取、清洗与标准化预处理,生成两张业务分层数据表,为后续特征衍生、指标计算与可视化看板搭建提供合规可用数据源。通过实操训练,要求…

2026/6/24 21:23:45阅读更多 →
Sunshine游戏串流技术架构深度解析:自托管流媒体服务器实现原理

Sunshine游戏串流技术架构深度解析:自托管流媒体服务器实现原理

Sunshine游戏串流技术架构深度解析:自托管流媒体服务器实现原理 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 1. 系统架构概述与技术实现 1.1 核心组件架构设计 Su…

2026/6/25 0:16:00阅读更多 →
MPC862程序流追踪与硬件调试:从原理到实战解决嵌入式通信系统难题

MPC862程序流追踪与硬件调试:从原理到实战解决嵌入式通信系统难题

1. MPC862程序流追踪:从硬件原理到实战调试在嵌入式通信系统的开发里,最让人头疼的莫过于程序“跑飞”了。你看着板子上的指示灯乱闪,串口输出一堆乱码,但就是不知道CPU到底执行了哪条指令、在哪个分支上出了问题。尤其是在像MPC8…

2026/6/24 23:23:10阅读更多 →
基于Tor Hidden Service的匿名通信系统Ricochet架构深度解析

基于Tor Hidden Service的匿名通信系统Ricochet架构深度解析

1. 项目概述:为什么我们需要一个“终极”匿名通信方案?在数字世界里,隐私和匿名性正变得越来越奢侈。我们每天使用的即时通讯工具,无论是微信、Telegram还是Signal,都在不同程度上依赖于中心化的服务器。这意味着&…

2026/6/24 23:23:10阅读更多 →
多重冒号(::)在编程中的核心作用:从命名空间到代码组织

多重冒号(::)在编程中的核心作用:从命名空间到代码组织

1. 项目概述:从“多重冒号”到代码的优雅表达最近在代码审查和开源项目里,我时不时会看到一个叫“Multiple-Colon”的讨论点。乍一看这个标题,你可能会有点懵:冒号不就是个标点吗,还能玩出什么花样?但如果你…

2026/6/24 23:23:10阅读更多 →
LINPACK基准测试:从原理到实战,全面解析HPC性能评估金标准

LINPACK基准测试:从原理到实战,全面解析HPC性能评估金标准

1. 项目概述:从“超级计算机的标尺”到“无处不在的性能度量”如果你在服务器、高性能计算(HPC)甚至个人电脑的评测里,看到过“双精度浮点性能达到XX TFlops”这样的描述,那背后十有八九站着LINPACK的身影。LINPACK Be…

2026/6/24 23:23:10阅读更多 →
OpenClaw:面向业务流程的智能体操作系统架构解析

OpenClaw:面向业务流程的智能体操作系统架构解析

1. OpenClaw 不是“另一个 Agent 框架”,而是面向真实业务流的智能体操作系统 你点开 GitHub 上 OpenClaw 的 README,第一眼看到的不是“支持多模型”“内置 20 Skill”,而是一张带虚线边框的三层架构图:最上层写着 Business Fl…

2026/6/24 23:23:10阅读更多 →
Claude Code Auto Mode:CLI驱动的VS Code智能协同范式

Claude Code Auto Mode:CLI驱动的VS Code智能协同范式

1. Auto Mode不是“全自动”,而是Claude Code里最被误解的交互范式很多人第一次看到“Claude Code Auto Mode”这个名称,下意识就联想到“代码全自动生成”“不用敲一个字就能跑通项目”——我刚接触时也这么想。结果在VS Code里点开Auto Mode&#xff0…

2026/6/24 23:18:07阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/24 7:33:03阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/24 2:12:09阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/24 7:37:00阅读更多 →