Pergunta

The following figure enter image description here

Is generated with this code

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()

What I'm to do is to reduce the gap between the dendrogram and the rowside color of the heatmap. How can I achieve that?

The only requirement is that the dimension of the dendrogram and paper size must be kept as it is.

Foi útil?

Solução

One solution is to adjust globally the x-axis so that it fits the data range:

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))
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top