我正在使用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。
我尝试按照建议设置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的设计方式使得标题始终位于列树形图上方。因此,如果列树形图被禁用,它会留下一个空的空间,但标题的位置仍然高于&#34;禁用&#34;列树状图。有没有办法破解代码,以便标题不位于列树形图上方(可能是这个问题的解决方案)?还有什么办法可以消除标题和标题之间的空间。实际情节?
答案 0 :(得分:4)
heatmap.2的lhei参数可以用来解决这个问题。它采用长度为2的向量,表示绘图布局行的相对高度。
Heatmap.2使用布局功能将绘图区域划分为四个块。基本上,您希望控制第一个相对于第二个的高度。为此,请将lhei设置为类似c(1,10)的内容。这将使底部行(热图所在的位置)的高度是顶行的10倍,顶行通常具有行和颜色键的树形图。
布局文档有更多详细信息。
答案 1 :(得分:1)
您可以使用title而不是在heatmap.2中设置main。
title("Your title", line= -2)
。
您可以通过更改线条的值来调整距离。 从左到右居中没有任何帮助,如果没有两个树状图,它仍然是关闭的,但你会更接近。