R-Heatmap.2禁用列树形图后,删除标题和实际热图之间留下的巨大空间

时间:2013-10-18 15:38:28

标签: r heatmap

我正在使用heatmap.2()

绘制759 * 12双矩阵twoway.expr.005
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。

enter image description here

我尝试按照建议设置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))

enter image description here

设置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))

enter image description here

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

2 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:1)

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

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

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

相关问题