如果您不想要树状图和后续排序,您应该设置Rowv
和。顺便说一句,你也应该把缩放。使用 Andrie 的 df :Colv
NA
heatmap(as.matrix(df)[order(k$cluster),],Rowv=NA,Colv=NA,scale="none",labRow=NA)

事实上,整个热图都是基于image()
. 您可以随意使用image
来构建您想要的情节。热图在内部使用 layout(),因此很难设置边距。使用图像,您可以执行以下操作:
myHeatmap <- function(x,ord,xlab="",ylab="",main="My Heatmap",
col=heat.colors(5), ...){
op <- par(mar=c(3,0,2,0)+0.1)
on.exit(par(op))
nc <- NCOL(x)
nr <- NROW(x)
labCol <- names(x)
x <- t(x[ord,])
image(1L:nc, 1L:nr, x, xlim = 0.5 + c(0, nc), ylim = 0.5 +
c(0, nr), axes = FALSE, xlab=xlab, ylab=ylab, main=main,
col=col,...)
axis(1, 1L:nc, labels = labCol, las = 2, line = -0.5, tick = 0)
axis(2, 1L:nr, labels = NA, las = 2, line = -0.5, tick = 0)
}
library(RColorBrewer)
myHeatmap(df,order(k$cluster),col=brewer.pal(5,"BuGn"))
生成一个边距较小的图。您还可以操作坐标轴、颜色……您一定要看看RColorBrewer
包装
(此自定义功能基于热图 btw 使用的内部绘图,为说明而简化并摆脱所有树状图的东西)
