R語言之視覺化①②熱圖繪製2

yesye發表於2021-09-09

使用pheatmap包繪製熱圖

  • 一般而言,pheatmap較heatmap.2等更為簡潔以及易於理解,對於初學者而言是一款不錯的熱圖繪製軟體。

rm(list=ls())

setwd("E:\Rwork")
library(pheatmap)  
#建立資料集test測試矩陣  test = matrix(rnorm(400), 20, 20)  
colnames(test) <- paste("sample",1:20,sep = "")
rownames(test)   <- paste("gene", 1:20,sep = "")test[1:10, seq(1, 20, 2)] = test[1:10, seq(1, 20, 2)] + 5 
test[11:20, seq(2, 20, 2)] = test[11:20, seq(2, 20, 2)] - 5 
pheatmap(test)

圖片描述

  • cluster_row = FALSE, cluster_col = FALSE

  • treeheight_row=0, treeheight_col=0

  # 在熱圖格子裡展示文字  pheatmap(test, display_numbers = TRUE)  
pheatmap(test, display_numbers = TRUE, 
         number_format = "%.1e")

圖片描述

cluster_row = FALSE, cluster_col = FALSE是否聚類,#可設定引數display_numbers將數值顯示在熱圖的格子中,可透過number_format設定數值的格式,較常用的有".2f"(保留小數點後兩位),".1e"(科學計數法顯示,保留小數點後一位),number_color設定顯示內容的顏色:
pheatmap(test, display_numbers = TRUE, number_format = "%.2f", number_color="purple") #"%.2f"表示保留小數點後兩位

#pheatmap還可以顯示行或列的分組資訊,支援多種分組;  annotation_col = data.frame(sampleType = factor(rep(c("contol", "knockdown"),10)),
                            sampleclass = factor(rep(c("normal", "tumor"),10)),
                            samplecluster = factor(rep(c("invasive", "noninvasive"),10))) 
rownames(annotation_col) <- colnames(test)






annotation_row = data.frame(geneType = factor(rep(c("kegg1", "kegg2"),10)),
                           geneclass = factor(rep(c("go1", "go2"),10))
                          ) 
rownames(annotation_row) <- rownames(test)

pheatmap(test, annotation_col = annotation_col, 
         annotation_row = annotation_row,
         treeheight_row=0, treeheight_col=0,
         cutree_rows=3,cutree_cols=2)

圖片描述

#pheatmap還能夠根據特定的條件將熱圖分隔開;# cutree_rows, cutree_cols:根據行列的聚類數將熱圖分隔開;pheatmap(test,cutree_rows=2,cutree_cols=2)

圖片描述

#還可以自己設定各個分組的顏色  ann_colors = list(sampleType = c(contol = "grey", knockdown = "black"), #連續數值型分組可設定成漸變  
                  sampleclass = c(normal = "#1B9E77", tumor= "#D95F02"))  
pheatmap(test, annotation_col = annotation_col, annotation_row = annotation_row,  
         annotation_colors = ann_colors)

圖片描述



作者:賽乾
連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2041/viewspace-2819321/,如需轉載,請註明出處,否則將追究法律責任。

相關文章