[R] easier way to print heatmap on multiple pages?
Jake Michaelson
jjmichael at comcast.net
Thu Aug 11 19:56:55 CEST 2005
Hi All,
I've worked on some code to take a heatmap with 1000 row entries, and
split this up into 20 pages, each with 50 rows from the original
heatmap. I want to preserve the row order such that all 20 pages, if
put together, would comprise the original heatmap.
Here's what I've done:
##make the initial heatmap, with all 1000 rows and write it to an
object 'heatAll'
heatAll = heatmap.2(combined.int.top, col = cm.colors(256), trace =
"none")
pdf(file="~/Desktop/Alfalfa-Ladak-StemV3.pdf", width=8, height=12,
pointsize=4)
for(i in 1:20){
selected = heatAll$rowInd[((i-1)*50):((i-1)*50+50)] ##get original
row order in groups of 50
heatmap.2(combined.int.top[selected,], Rowv = FALSE, ##prevent row
re-ordering
Colv=heatAll$colInd,
col=cm.colors(256),
trace="none", margins = c(9,8),
main=paste("page", i, sep=" "))
}
dev.off()
I can't think of why this wouldn't work, but for some reason things are
completely out of order. For example, the first page of the PDF shows
many genes found at the bottom of the original heatmap, but in a
different order. Strange.
So, have I made this insanely complicated? Is there an easier, better
way to print a large heatmap on multiple pages?
Thanks in advance for any help.
--Jake
More information about the R-help
mailing list