美文网首页
实用干货 | 如何使用 pheatmap 包实现基础热图的绘制

实用干货 | 如何使用 pheatmap 包实现基础热图的绘制

作者: 百奥益康 | 来源:发表于2023-06-05 15:35 被阅读0次

在生信分析中,热图是一种极为常见的数据可视化形式,在R中热图的绘制是一件方便且简单的事情,今天我们来一起看下如何使用 pheatmap 包实现基础热图的绘制!

首先,我们需要一个表达矩阵,在单细胞测序数据中,表达矩阵一般行是基因列是细胞,数据为其表达量,为了方便大家测试,我们下面先自己构建一组数据:

创建一个16个基因(8个上调、8个下调),6个细胞(2类)的表达数据:

set.seed(123)

expdata= t(sapply(1:16, function(x){

    if(x %in% c(1:8)){

        c(runif(3, 11, 13), runif(3, 8, 11))

    }else{

        c(runif(3, 8, 10), runif(3, 11, 14))

    }

}))

rownames(expdata) = paste("gene", 1:16, sep = "")

colnames(expdata) = paste("sample", 1:6, sep = "")

group = c(rep("G1", 3), rep("G2", 3))

然后,直接在R中加载pheatmap 包并调用 pheatmap 函数即可:

library(pheatmap)

pheatmap(expdata)

结果如下:

pheatmap函数中也提供了丰富的参数,部分参数设置如下:

pheatmap(expdata,

filename = "test.pdf",  # 输出pdf文件名

height = 4, width = 4,  # pdf文件的高和宽

cellwidth = 6,  # 格子宽度

border_color = NA,  # 格子边框

fontsize_row = 7, fontsize_col = 7,  # 行/列名大小

cluster_cols = F,  # 不对样本聚类

show_colnames = F,  # 不显示样本名

fontsize = 6)   # 行/列名除外的字体大小

此时,在当前路径下会生成一个test.pdf文件,调整后的热图显示如下:

除此之外,还可以设置配色和分组标签等内容:

#添加样本分组注释

annotation_col = data.frame(group)

rownames(annotation_col) = colnames(expdata)

#设置分组对应的颜色

ann_colors = list(group = c(G1 = "darkgreen", G2 = "orange"))

#设置热图(表达量)的颜色

colors = colorRampPalette(c("navy", "white", "firebrick3"))(100)

#输出到pdf

pdf("test.pdf", width = 3.5, height = 4)

pheatmap(expdata, color = colors, border_color = NA, fontsize_row = 7, fontsize_col = 7, cluster_cols = F, show_colnames = F, fontsize = 6, annotation_col = annotation_col, annotation_colors = ann_colors)

dev.off()

相关文章

网友评论

      本文标题:实用干货 | 如何使用 pheatmap 包实现基础热图的绘制

      本文链接:https://www.haomeiwen.com/subject/ncfwedtx.html