Skip to content
Back to formatted view

Raw Message

Message-ID: <366c6f340911211737w3336cc29h763c45fbe8b2c1e2@mail.gmail.com>
Date: 2009-11-22T01:37:34Z
From: Peng Yu
Subject: How to reproduce heatmap.2()'s result?

I want to understand what heatmap.2() is exactly doing. So I tried the
following program. But the results by image() is still not the same as
the result by heatmap.2(). Could somebody let me know how to make both
results the same (in terms of the x and y axis label orders)?



#####################
set.seed(0)
m=10
n=40
x=replicate(n,rnorm(m))

rownames(x)=1:m
colnames(x)=1:n

dir.create('main', showWarnings=T)

ahclust=hclust(dist(x))
ahclustt=hclust(dist(t(x)))

png('main/image.png')

clustered_x=x[ahclust$order, ahclustt$order]

image(t(clustered_x),axes=F)
axis(side=1,at=seq(from=par()$usr[1],to=par()$usr[2],length=n),labels=colnames(clustered_x),las=2,cex.axis=.5)
axis(side=2,at=seq(from=par()$usr[3],to=par()$usr[4],length=m),labels=rownames(clustered_x),las=2,cex.axis=.5)

dev.off()

library(gplots)
png('main/heatmap.2.png')
heatmap.2(x,scale='none',trace='none')
dev.off()