How to add extra margin to a Heatmap.2 plan using a png device?

I have the following sample data:

sel = structure(c(1.29955, 2.52295, 1.11021, 2.52008, 8.20255, 8.50118, 5.82189, 5.8108, 1.55928, 8.2552, 5.25119, 5.55055, 1.22525, 3.152, 3.9299, 5.50921, 5.25591, 5.11218, 1.55951, 2.5525, 9.2358, 2.0928, 5.2538, 2.5539, 8.52592, 2.59521, 5.55858, 5.92955, 2.22089, 1.52105), .Dim = c(10L, 3L), .Dimnames = list(c("a", "b", "c", "d", "e", "f", "g", "h", "i", "j"), c("Label.1", "Label.2", "Label.3"))) 

And I use this code to build the picture:

 col = c("#FF0000", "#FF0000", "#FF0000") par(mar=c(7,4,4,2)+0.1) png(filename='test.png', width=800, height=750) heatmap.2(sel, col=redgreen(75), scale="row", ColSideColors=col, key=TRUE, symkey=FALSE, density.info="none", trace="none") graphics.off() 

What gives me this heatmap:

enter image description here

As you can see, the x-axis labels are cut off. I tried to increase the margins using par(mar=c(7,4,4,2)+0.1) (from the default value par(mar=c(5,4,4,2)+0.1) ), but this is not changes the way clipping marks.

I tried changing the parameters lmat , lhei and lwid in heatmap.2, so this is:

 heatmap.2(zebrafishSel, col=redgreen(75), scale="row", ColSideColors=zebracolors, key=TRUE, symkey=FALSE, density.info="none", trace="none", lmat=rbind(c(2),c(3),c(1),c(4)), lhei=c(1,1,9,0), lwid=c(1)) 

but this gives an error Error in plot.new() : outer margins too large (figure region too small) How to increase the border using heat map2 and a png device?

+6
source share
1 answer
 col = c("#FF0000", "#FF0000", "#FF0000") par(mar=c(7,4,4,2)+0.1) png(filename='test.png', width=800, height=750) heatmap.2(sel, col=redgreen(75), scale="row", ColSideColors=col, key=TRUE, symkey=FALSE, density.info="none",cexRow=1,cexCol=1,margins=c(12,8),trace="none",srtCol=45) graphics.off() 

enter image description here

+9
source

All Articles