我正在使用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是以这样一种方式设计的,即标题总是放置在列树状图上方。因此,如果禁用列树状图,则会留下空白空间,但标题位置仍在“禁用”列树状图上方。有没有办法修改代码,使标题不放置在列树状图上方(这可能是解决此问题的方法)?还有什么其他方法可以消除标题和实际绘图之间的空间?
hlei
和其他部分会截断标题或者报错说"图像区域太小"。 - Anton Tarasenko