[英]How to get clusters to line up on the diagonal using heatmap.2 in r?
我正在嘗試聚類蛋白質dna相互作用數據集,並使用來自R包gplots的heatmap.2繪制熱圖。 以下是生成這些圖形的完整過程:在我的案例中,使用一些相關性生成距離矩陣。
library(RColorBrewer);
library(gplots);
args <- commandArgs(TRUE);
matrix_a <- read.table(args[1], sep='\t', header=T, row.names=1);
mtscaled <- as.matrix(scale(matrix_a))
pdf("result.pdf", pointsize = 15, width = 18, height = 18)
result <- heatmap.2(mtscaled, Colv=T,Rowv=T, scale='none',symm = T, col = brewer.pal(9,"Reds"))
dev.off()
通過執行以下操作,我可以使用正常的熱圖功能來完成此操作:
result <- heatmap(mtscaled, Colv=T,Rowv=T, scale='none',symm = T)
但是,當我對Heatmap.2使用相同的設置時,群集在對角線上也不會對齊。 我附加了2張圖像,第一張圖片使用熱圖,第二張圖片使用熱圖。 我使用了RColorBrewer包中的Reds顏色來幫助更好地顯示我正在拍攝的內容。 我通常只使用默認的熱圖功能,但我需要heatmap.2提供的顏色變化。
以下是用於生成熱圖的數據集的列表,在將其轉換為距離矩陣后: DataSet
就好像有兩個參數是沖突的。 Colv=T
表示按簇排序列, symm=T
表示排列列與行相同。 當然,兩個約束都可以滿足,因為數據是對稱的,而是Colv=T
wins,你會得到兩個獨立的簇序列,這些序列恰好是不同的。
如果你放棄了樹形圖的冗余副本,下面給出了你想要的熱圖,至少:
result <- heatmap.2(mtscaled, Rowv=T, scale='none', dendrogram="row", symm = T, col = brewer.pal(9,"Reds"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.