6

我正在twoway.expr.005使用 heatmap.2()绘制一个 759*12 双矩阵

library(gplots)
dist2 <- function(x, ...){as.dist(1-cor(t(x), method="pearson"))}
heatmap.2(x=twoway.expr.005,col=bluered(75), main="Heatmap:759 genes\nTwosided Pval<0.05",tracecol= NULL, cexCol=0.8,cexRow=0.5,labCol=labs,distfun=dist2,scale="row",key=F,dendrogram='row',Colv=F)

但是因为我正在设置dendrogram='row'(关闭了列树状图)并且key=F,当我尝试将其保存为 PDF 时,我的热图在图的标题和实际图之间留下了巨大的空白。

在此处输入图像描述

我尝试按照建议设置 lhei。我使用了 lhei=c(1,4) 但它仍然显示标题和情节之间有很多空间:

heatmap.2(x=twoway.expr.005,col=bluered(75), main="Heatmap:759 genes\nTwosided Pval<0.05",tracecol= NULL, cexCol=0.8,cexRow=0.5,labCol=labs,distfun=dist2,scale="row",key=F,dendrogram='row',Colv=F,lhei=c(1,4))

在此处输入图像描述

设置 lhei=c(1,5) 完全抛弃了标题:

heatmap.2(x=twoway.expr.005,col=bluered(75), main="Heatmap:759 genes\nTwosided Pval<0.05",tracecol= NULL, cexCol=0.8,cexRow=0.5,labCol=labs,distfun=dist2,scale="row",key=F,dendrogram='row',Colv=F,lhei=c(1,5))

在此处输入图像描述

我认为 Heatmap.2 的设计方式是标题始终位于列树状图上方。因此,如果禁用了列树状图,它会留下一个空白空间,但标题的位置仍然在“禁用”列树状图的上方。有没有办法破解代码,使标题不放在列树状图上方(这可能是这个问题的解决方案)?还有什么办法可以消除标题和实际情节之间的空间?

4

2 回答 2

4

heatmap.2 的 lhei 参数可用于解决此问题。它采用长度为 2 的向量,表示绘图布局的行的相对高度。

Heatmap.2 使用布局功能将绘图区域划分为四个块。本质上,您想控制第一个相对于第二个的高度。为此,请将 lhei 设置为类似 c(1, 10) 的值。这将使热图所在的底行是顶行的 10 倍,顶行通常具有行的树状图和颜色键。

布局文档有更多详细信息。

于 2013-10-21T14:32:30.227 回答
1

您可以使用 title 而不是在 heatmap.2 中设置 main

title("Your title", line= -2).

您可以通过更改线的值来调整距离。从左到右居中没有帮助,如果没有两个树状图,这仍然是关闭的,但你会更接近。

于 2015-06-29T05:08:28.370 回答