Nature 绘图复现 | 基因家族散点图
📅 2026/6/23 21:11:55
👁️ 次浏览
在发表科研论文的过程中科研绘图是必不可少的而提升绘图水平最直接的方法就是跟着顶刊学习。为了便于使用本系列文章介绍的所有绘图都已收录到了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/23 21:11:55
1 实验目的本实验依托全班同学多平台自媒体作品互动原始数据集,借助助睿 ETL 工具完成多源数据抽取、清洗与标准化预处理,生成两张业务分层数据表,为后续特征衍生、指标计算与可视化看板搭建提供合规可用数据源。通过实操训练,要求…
📅 2026/6/23 21:11:55
PUBG压枪秘籍:用罗技鼠标宏轻松驯服后坐力 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg
还在为《绝地求生》里的枪口乱跳而烦恼吗&…
📅 2026/6/23 21:11:55
团队意识到当前冲刺的故事点可能已超负荷,需要在重新制定发布计划时移除一些功能。 总结
本节课中,我们一起学习了产品开发中的一个关键环节:客户演示与待办事项优化。我们看到了如何有效地向客户展示产品、获取有价值的反馈,并将…
📅 2026/6/23 22:17:10
1. 项目概述:在 Ubuntu 18.04 上部署一个真正可用的 code-server 云 IDE你有没有过这样的时刻:临时需要调试一段 Python 脚本,但手边只有公司配的 Windows 笔记本,装不了 Docker,也连不上内网开发机;或者带…
📅 2026/6/23 22:17:10
1. 这不是另一个“在线VS Code”,而是可深度定制的云IDE底座Eclipse Theia 是我过去三年在多个团队落地云开发环境时,反复验证后留下的唯一选择。它不像 Code Server 那样只是 VS Code 的简单镜像,也不像 Gitpod 那样被强绑定在特定平台——T…
📅 2026/6/23 22:17:10
1. 这不是“概念背诵题”,而是 JavaScript 执行真相的现场解剖你有没有在调试时遇到过这样的场景:明明console.log(A)写在setTimeout(() > console.log(B), 0)前面,控制台却先打出 B,再打出 A?或者写了个fetch()请求…
📅 2026/6/23 22:17:10
1. 这不是“概念背诵题”,而是 JavaScript 执行引擎的底层操作系统图谱你有没有遇到过这样的场景:在控制台里敲下setTimeout(() > console.log(A), 0); console.log(B);,结果却先打印出 B,再打印 A?或者写了个fetch…
📅 2026/6/23 22:17:10
当Java应用突然抛出"Cannot create native thread"错误时,背后往往隐藏着操作系统的线程资源枯竭问题。这种看似简单的报错,可能让高并发服务瞬间瘫痪。本文将深入剖析这一经典问题,从线程限制的本质到解决方案,为开发者…
📅 2026/6/23 22:12:07
1. GRIP模型:问答系统的新范式在自然语言处理领域,问答系统(QA)一直是最具挑战性的任务之一。传统方法要么依赖预训练语言模型的参数化知识,要么采用固定的检索-生成流程,都存在明显的局限性。GRIP(Grounded Retrieval with Itera…
📅 2026/6/23 0:51:59
1. 项目概述:一次对高危漏洞的深度剖析与实战复现最近在安全圈里,一个关于Atlassian Confluence的漏洞讨论热度很高,编号是CVE-2023-22527。这个漏洞的标签是“远程代码执行”,对于任何使用Confluence作为知识管理和协作平台的企业…
📅 2026/6/23 0:51:59
1. 项目概述:为什么微信小程序也需要渗透测试? 你可能觉得,微信小程序运行在微信这个“超级App”的沙箱里,天然就比独立的App或网站更安全。这种想法在几年前或许还说得通,但随着小程序生态的爆炸式增长,它…
📅 2026/6/23 0:51:59
1. 从手册到实战:SLIDER与SPINBOX控件的深度解析在嵌入式GUI开发里摸爬滚打十几年,我见过太多项目因为界面交互的“小问题”而卡壳。参数调节不跟手、数值输入效率低下,这些看似不起眼的细节,往往是决定产品用户体验成败的关键。e…
📅 2026/6/23 3:33:35
暗黑2重获新生:D2DX如何让经典游戏在现代Windows系统上流畅运行 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx
…
📅 2026/6/23 2:15:55
CompressO终极指南:免费开源的视频图像压缩神器 【免费下载链接】compressO Convert any video/image into a tiny size. 100% free & open-source. Available for Mac, Windows & Linux. 项目地址: https://gitcode.com/gh_mirrors/co/compressO
你…
📅 2026/6/23 3:43:12