BiocManager::install("ComplexHeatmap")
library(ComplexHeatmap)
输入的数据为表达矩阵,这里选用seurat数据,所以用GetAssayData取出标准化后的表达矩阵。
#导入表达矩阵
mat <- GetAssayData(Fib, slot = "scale.data")
将细胞按每个类群排序,这样画出的热图按每个类群排布
cluster_info <- sort(Fib$seurat_clusters)
mat <- as.matrix(as.data.frame(mat)[ ,names(cluster_info)])
安装一个调用颜色的包,并对cluster加上颜色
#devtools::install_github("caleblareau/BuenColors")
library("BuenColors")
col<-jdb_color_maps[1:3]
names(col)<-levels(cluster_info)
制作对列类别的注释
annotation = HeatmapAnnotation(df = data.frame(cluster_info))
对行聚类,将annotation添加到heatmap中
Heatmap(mat,
cluster_rows = T,
cluster_columns = F,
show_column_names = F,
show_row_names = TRUE,top_annotation = annotation)
参考: https://jokergoo.github.io/ComplexHeatmap-reference/book/a-single-heatmap.html#heatmap-split https://blog.csdn.net/u012110870/article/details/102730562