pythonic生物人

复现Nature Cancer期刊图,换数据可用!

Nature Cancer上的一篇文章s43018-022-00353-6中heatmap使用值得学习,

ImageImageImageImage

下面使用R复现下面的j图,

Image
❤️复现效果图❤️
❤️复现效果图❤️

R语言快速复现该图。

✅读入测试数据,

Image

✅关键代码,

#遍历每一行(样本)
for(sample_index in seq_len(n_samples)){
#将矩阵行号转换为绘图坐标(上下翻转)
y<-n_samples-sample_index+1

#遍历每一列(基因)
for(gene_index in seq_len(n_genes)){
#绘制一个矩形格子,表示一个(样本×基因)的表达值
rect(
gene_index-0.5,#左边界
y-0.5,#下边界
gene_index+0.5,#右边界
y+0.5,#上边界

#根据Z-score映射到对应颜色
col=z_to_color(heat_matrix[sample_index,gene_index]),

#黑色细边框
border="#202020",
lwd=0.28
)
}
}

两层for循环 + rect() + z_to_color()

  • 每一格表示一个样本 × 基因的Z-score
  • 颜色通过 数值 → 归一化 → 颜色表索引映射
  • 其余代码只是:分组白线、基因标签、色条、标题等装饰
Image

该图是一个“时间 × 分泌蛋白基因集”的热图,用Z-score颜色直观展示:在肿瘤作用下,肺内皮细胞如何在第3周系统性激活一组分泌蛋白,这些基因:

  • 在 Control / Week 1 / Week 2 表达很低
  • 在 Week 3 明显变红(高表达)
  • 具有明确的免疫 / 基质 / 血管功能

本次结束~


(加入学习~)

图片

一些有用的学习资源:


2026可视化工具TOP3
《保姆级R可视化教程》来了!
Python matplotlib保姆级教程
嫌Matplotlib繁琐?试试Seaborn!

复现Nature子刊上3张图,换数据即可用!
复现Nature“水”子刊上配图,换数据即可用!
喜提“Acceptance”,多亏这两张图,能顶60张图的工作量!
复现Nature正刊上3张图,换数据即可用!
复现IF50.0期刊上6张图,换数据即可用!
复现中科院IF 25.9期刊上3张图,换数据即可用!
复现Nature子刊中的2张图,换个数据即可用!
复现IF 48.5的期刊图,这个图帮你省下50%版面费!
喜提“Major Revision”,太多图,被质疑在堆工作量......
审稿人:凭这个3D Heatmap,必须给minor revision
复现Nature子刊上3张图,换数据即可用!
复现Nature“水”子刊上配图,换数据即可用!
喜提“Acceptance”,多亏这两张图,能顶60张图的工作量!
复现Nature正刊上3张图,换数据即可用!
复现IF50.0期刊上6张图,换数据即可用!