pheatmap行标签顺序大调整
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pheatmap行标签顺序大调整相关的知识,希望对你有一定的参考价值。
参考技术A 在科学论文中,我们经常要用到热图。我们在 热图在单细胞数据分析中的应用 比较系统地介绍了热图的一般规则。但是在实际操作中还是会遇到一些细节问题,如标签顺序。我们知道一个好的热图,要能反映出数据规律,直觉上就是要有明显的色块。那么色块是如何来的呢?和行与列的顺序有关。如一张好的热图大概率是这样的:
但是如果我们调整顺序,他可以变成这样的:
对我们来说重要的是获得这个顺序,然后指定给绘图函数。我们以熟悉的pheatmap为例来探索一下。首先生成示例数据:
看看数据长什么样子:
默认参数:
这时的顺序是按聚类顺序来的。
不聚类时,行顺序就是我们的输入矩阵的数据顺序。
我们把行名按字母排个序。
这时候就是字母序了。
有时候,我们只想留下聚类结果,并不想展示聚类轴,怎么办呢?
最后,我们把这四张图拼在一起,对读着有个交代。
DoHeatmap clustering specific genes and not top x genes #2261
继续来看pheatmap那些有趣的事情
热图如何去掉聚类树的同时保留聚类的顺序?
【r<-ggplot2】cowplot在网格中排列图形
Arranging plots in a grid
https://github.com/satijalab/seurat/issues/2222
在 R 中的 pheatmap 单元格中显示原始数字
【中文标题】在 R 中的 pheatmap 单元格中显示原始数字【英文标题】:Showing raw numbers in cells of pheatmap in R 【发布时间】:2022-01-22 13:03:48 【问题描述】:好吧,我确定我有一个非常基本的问题,但我对 R 语言太陌生,无法解决它。我正在使用 pheatmap 创建一个热图,并希望在每个单元格中显示原始数字,但也对行使用缩放。问题是当我使用 display_numbers = nrow(theatmap_data) 时,它只显示转换后的缩放数字而不是原始值。
这是片段
library(pheatmap)
t(heatmap_data) -> theatmap_data
pheatmap((theatmap_data),cluster_rows= FALSE, cluster_cols = FALSE,
scale ="row", display_numbers = nrow(theatmap_data))
【问题讨论】:
我假设您使用的是pheatmap
包,所以添加了代码。
【参考方案1】:
如果要在单元格内显示原始值,可以使用以下代码:
library(pheatmap)
# Generate a simple matrix
set.seed(1234)
theatmap_data <- matrix(runif(24), ncol=4)
rownames(theatmap_data) <- paste0("G", 1:6)
colnames(theatmap_data) <- paste0("S", 1:4)
# Show the content of the matrix
print(theatmap_data)
# S1 S2 S3 S4
# G1 0.1137034 0.009495756 0.2827336 0.18672279
# G2 0.6222994 0.232550506 0.9234335 0.23222591
# G3 0.6092747 0.666083758 0.2923158 0.31661245
# G4 0.6233794 0.514251141 0.8372956 0.30269337
# G5 0.8609154 0.693591292 0.2862233 0.15904600
# G6 0.6403106 0.544974836 0.2668208 0.03999592
# display_numbers = matrix of rounded row values
pheatmap((theatmap_data),cluster_rows= FALSE, cluster_cols = FALSE,
scale ="row", display_numbers = round(theatmap_data,2))
【讨论】:
谢谢!那效果很好。我想我不明白为什么当我尝试: display_numbers = nrow(theatmap_data) 它只显示缩放数字。但是使用 display_numbers = round(theatmap_data,2) 显示未缩放的数据。我还有很多东西要学。 @JeffNKC 嗨,杰夫。在 pheatmap 的帮助下:display_numbers: If this is a matrix (with same dimensions as original matrix), the contents of the matrix are shown instead of original values.
如果您觉得我的回答有用,请接受并投票。以上是关于pheatmap行标签顺序大调整的主要内容,如果未能解决你的问题,请参考以下文章