cexRow problem
1
0
Entering edit mode
Alyaa Mahmoud ▴ 440
@alyaa-mahmoud-4670
Last seen 4.1 years ago
Hi All I am trying to generate a heatmap for a matrix of 360 rows and 11 columns, I need the row labels to be readable from within the heatmap by zooming or so. I use heatmap.2 function but when I decrease cexRow to any value lower than 0.06, the labels just disappear, i.e. they don't get any smaller. I also tried the margins argument within heatmap.2 function but this didn't solve the problem. Any help with this regards ?? heatmap.2(as.matrix(bb), scale="row", key=TRUE, symkey=FALSE, density.info="none", trace="none", cexRow=0.06, cexCol=0.2, dendrogram="both", Rowv=rowv, col=brewer.pal(9,"BuPu")) Thanks a lot Alyaa -- Alyaa Mahmoud "Love all, trust a few, do wrong to none"- Shakespeare [[alternative HTML version deleted]]
• 2.0k views
ADD COMMENT
0
Entering edit mode
@james-w-macdonald-5106
Last seen 6 hours ago
United States
Hi Alyaa, On 10/2/2012 6:59 PM, Alyaa Mahmoud wrote: > Hi All > > I am trying to generate a heatmap for a matrix of 360 rows and 11 columns, > I need the row labels to be readable from within the heatmap by zooming or > so. I use heatmap.2 function but when I decrease cexRow to any value lower > than 0.06, the labels just disappear, i.e. they don't get any smaller. I > also tried the margins argument within heatmap.2 function but this didn't > solve the problem. > > Any help with this regards ?? I have rarely found the need to set the cexCol argument, and have found that the better idea is to make the resulting image of the right dimensions. I assume here that you are creating a heatmap with lots of rows, and comparatively speaking, much fewer columns. If you don't specify the dimensions of the output, then you will get a square-ish heatmap with really thin rows that are hard to label. If instead, you specify that the heatmap will be a really tall thin object, then you get something closer to what you are likely interested in. Try something like this: pdf("tmp.pdf", width = 8, height = 200) ## you may need to play with the height arg heatmap.2(as.matrix(bb), scale="row", key=TRUE, symkey=FALSE, density.info="none", trace="none", cexCol=0.2, dendrogram="both", Rowv=rowv, col=brewer.pal(9,"BuPu")) dev.off() You can use jpeg(), png(), etc, but note that those are raster graphics that won't scale without becoming pixellated, whereas pdfs are vector graphics that will scale well. If you are on windows you might consider win.metafile() as well, but in my experience the column labels get mis-placed more often than not (being put right on top of the lower portion of the heatmap). So I tend to stick with pdfs. If you need something square-ish for e.g., a publication, then the rows won't be legible anyway. In that case it seems to me that most people just forgo row labels altogether. Best, Jim > > heatmap.2(as.matrix(bb), scale="row", key=TRUE, symkey=FALSE, > density.info="none", > trace="none", cexRow=0.06, cexCol=0.2, dendrogram="both", Rowv=rowv, > col=brewer.pal(9,"BuPu")) > > Thanks a lot > Alyaa > -- James W. MacDonald, M.S. Biostatistician University of Washington Environmental and Occupational Health Sciences 4225 Roosevelt Way NE, # 100 Seattle WA 98105-6099
ADD COMMENT

Login before adding your answer.

Traffic: 441 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6