调整 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 文档