調整 heatmap 中的引數

鑑於:

x  <- as.matrix(mtcars)

通過載入以下庫,可以使用 heatmap.2 - heatmap 的最新優化版本:

require(gplots)
heatmap.2(x)

StackOverflow 文件

要在熱圖中新增標題,x 或 y 標籤,你需要設定 mainxlabylab

heatmap.2(x, main = "My main title: Overview of car features", xlab="Car features", ylab = "Car brands")

如果你希望為熱圖定義自己的調色盤,可以使用 colorRampPalette 函式設定 col 引數:

heatmap.2(x, trace="none", key=TRUE, Colv=FALSE,dendrogram = "row",col =  colorRampPalette(c("darkblue","white","darkred"))(100))

StackOverflow 文件

你可以注意到,y 軸上的標籤(汽車名稱)不適合圖中。為了解決這個問題,使用者可以調整 margins 引數:

heatmap.2(x, trace="none", key=TRUE,col = colorRampPalette(c("darkblue","white","darkred"))(100), margins=c(5,8))

StackOverflow 文件

此外,我們可以通過調整 lheilwid 來改變熱圖的每個部分的尺寸(關鍵直方圖,樹狀圖和熱圖本身):

StackOverflow 文件

如果我們只想顯示行(或列)樹形圖,我們需要設定 Colv=FALSE(或 Rowv=FALSE)並調整 dendogram 引數:

heatmap.2(x, trace="none", key=TRUE, Colv=FALSE, dendrogram = "row", col = colorRampPalette(c("darkblue","white","darkred"))(100), margins=c(5,8), lwid = c(5,15), lhei = c(3,15))

StackOverflow 文件

要更改圖例標題,標籤和軸的字型大小,使用者需要在 par 列表中設定 cex.main, cex.lab, cex.axis

par(cex.main=1, cex.lab=0.7, cex.axis=0.7)
heatmap.2(x, trace="none", key=TRUE, Colv=FALSE, dendrogram = "row", col = colorRampPalette(c("darkblue","white","darkred"))(100), margins=c(5,8), lwid = c(5,15), lhei = c(5,15))

StackOverflow 文件