下图

用此代码生成

library(gplots)
setwd("~/Desktop/");
data <- read.table(file='http://pastebin.com/raw.php?i=ZaGkPTGm',
                   header=TRUE, row.names=1)

mat <- as.matrix(data[,-1])
z <- t(scale(t(mat)))


# set custom distance and clustering functions
hclustfunc <- function(x) hclust(x, method="complete")
distfunc <- function(x) dist(x,method="maximum")

# obtain the clusters
fit <- hclustfunc(distfunc(z))
clusters <- cutree(fit, 5)

# require(gplots)
pdf(file='heatmap.pdf', height=50, width=90)
heatmap.2(z, trace='none', dendrogram='row', Colv=F, scale='row',
             hclust=hclustfunc, distfun=distfunc, col=greenred(256), symbreak=T,
             margins=c(10,20), keysize=0.5, labRow=data$Gene.symbol,
             lwid=c(1,0.05,1), lhei=c(0.03,1), lmat=rbind(c(5,0,4),c(3,1,2)),
             RowSideColors=as.character(clusters))
dev.off()

我要做的是减小树状图和热图行侧颜色之间的间隙。
我该如何实现?

唯一的要求是树状图的尺寸和纸张尺寸必须保持原样。

最佳答案

一种解决方案是全局调整x轴,使其适合数据范围:

par(xaxs="i")
heatmap.2(z, trace='none', dendrogram='row', Colv=F, scale='row',
         hclust=hclustfunc, distfun=distfunc, col=greenred(256), symbreak=T,
         margins=c(10,20), keysize=0.5, labRow=data$Gene.symbol,
         lwid=c(1,0.05,1), lhei=c(0.03,1), lmat=rbind(c(5,0,4),c(3,1,2)),
         RowSideColors=as.character(clusters))

09-07 21:55