R语言-使用pheatmap函数画热图

1. 构造矩阵

test = matrix(rnorm(200), 20, 10)

test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3

test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2

test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4

colnames(test) = paste("Test", 1:10, sep = "")

rownames(test) = paste("Gene", 1:20, sep = "")

我们按看这个矩阵的四行四列的效果:

2. 构造注释信息

annotation_col = data.frame(

CellType = factor(rep(c("CT1", "CT2"), 5)), Time = 1:5

)

rownames(annotation_col) = paste("Test", 1:10, sep = "")

annotation_row = data.frame(

GeneClass = factor(rep(c("Path1", "Path2", "Path3"), c(10, 4, 6)))

)

rownames(annotation_row) = paste("Gene", 1:20, sep = "")

注意要为因子的形式!!!

annotation_col的样子:

annotation_row 的样子:

3. 画图

我们使用的是pheatmap包

library(pheatmap)

pheatmap(test, annotation_col = annotation_col, annotation_row = annotation_row)

此函数的各种参数:

pheatmap(mat, color = colorRampPalette(rev(brewer.pal(n = 7, name =

"RdYlBu")))(100), kmeans_k = NA, breaks = NA, border_color = "grey60",

cellwidth = NA, cellheight = NA, scale = "none", cluster_rows = TRUE,

cluster_cols = TRUE, clustering_distance_rows = "euclidean",

clustering_distance_cols = "euclidean", clustering_method = "complete",

clustering_callback = identity2, cutree_rows = NA, cutree_cols = NA,

treeheight_row = ifelse((class(cluster_rows) == "hclust") || cluster_rows,

50, 0), treeheight_col = ifelse((class(cluster_cols) == "hclust") ||

cluster_cols, 50, 0), legend = TRUE, legend_breaks = NA,

legend_labels = NA, annotation_row = NA, annotation_col = NA,

annotation = NA, annotation_colors = NA, annotation_legend = TRUE,

annotation_names_row = TRUE, annotation_names_col = TRUE,

drop_levels = TRUE, show_rownames = T, show_colnames = T, main = NA,

fontsize = 10, fontsize_row = fontsize, fontsize_col = fontsize,

angle_col = c("270", "0", "45", "90", "315"), display_numbers = F,

number_format = "%.2f", number_color = "grey30", fontsize_number = 0.8

* fontsize, gaps_row = NULL, gaps_col = NULL, labels_row = NULL,

labels_col = NULL, filename = NA, width = NA, height = NA,

silent = FALSE, na_col = "#DDDDDD", ...)

相关推荐
为何创造硅基生物5 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
吃好睡好便好5 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
星寂樱易李5 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
仰泳之鹅5 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
之歆5 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
cen__y6 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
AI人工智能+电脑小能手7 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
社交怪人7 小时前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言
郭涤生8 小时前
不同主机之间网络通信-以太网连接复习
开发语言·rk3588
山居秋暝LS8 小时前
【无标题】RTX00安装paddle OCR,win11不能装最新的,也不能用GPU
开发语言·r语言