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 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
二十雨辰5 小时前
[python]-AI大模型
开发语言·人工智能·python
Yvonne爱编码5 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚5 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂5 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
pas1366 小时前
41-parse的实现原理&有限状态机
开发语言·前端·javascript
琹箐6 小时前
最大堆和最小堆 实现思路
java·开发语言·算法
Monly216 小时前
Java:修改打包配置文件
java·开发语言
我命由我123457 小时前
Android 广播 - 静态注册与动态注册对广播接收器实例创建的影响
android·java·开发语言·java-ee·android studio·android-studio·android runtime
island13147 小时前
CANN ops-nn 算子库深度解析:核心算子(如激活函数、归一化)的数值精度控制与内存高效实现
开发语言·人工智能·神经网络