Entering edit mode
Yannick Wurm
▴
220
@yannick-wurm-2314
Last seen 10.3 years ago
Hi,
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",
pointsize=10,
width=29.7/2.54,
height=20.9/2.54 * pagesToOutputOn,
pagecentre=FALSE)
# 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
http://www.mindcad.com/tiler.html
Cheers,
Yannick
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