[BioC] [R] easier way to print heatmap on multiple pages?

Julian Lee julian at omniarray.com
Thu Apr 23 10:49:31 CEST 2009


you can output your heatmaps using the library, 'ctc'.

Use TreeView or JavaTreeView to view those heatmaps. 

I find them more useful and easier than chopping up the PDFs.

hope that helps.


----- Original Message -----
From: "Yannick Wurm" <yannick.wurm at unil.ch>
To: bioconductor at stat.math.ethz.ch
Cc: jjmichael at comcat.net
Sent: Thursday, April 2, 2009 6:28:01 PM GMT +08:00 Beijing / Chongqing / Hong Kong / Urumqi
Subject: Re: [BioC] [R] easier way to print heatmap on multiple pages?

quick reply to a post thats a few years old since I just struggled  
with the same issue:

to split a single heatmap with too many lines onto multiple pages (ie  
keeping text size readable), I ended up using the following trick:

1. create a huge pdf. eg one that is 8 pages tall:
	> pagesToOutputOn = 8
	> pdf(outputPath, paper="special",
		height=20.9/2.54 * pagesToOutputOn,
	# do your heatmap	
	> dev.off()

2. Use Tiler on the mac (I'm sure other tools exist), to cut your  
single big pdf into several pages




Jake Michaelson jjmichael <at> comcast.net writes:
> 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

Bioconductor mailing list
Bioconductor at stat.math.ethz.ch
Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor

Julian Lee
Bioinformatics Specialist
Cellular and Molecular Research
National Cancer Center Singapore

More information about the Bioconductor mailing list