Hi
Antje wrote: > Hi Paul, > > > You are getting the error because you are setting the figure region to > > be larger than the current device (typically 6 or 7 inches wide/high). > > You SHOULD be getting the error when you try par(fin), BUT there is a > > check missing in the C code, so what happens is that heatmap saves your > > par settings and then tries to reset them (this is where par(op) comes > > from), and because it saves BOTH par(fig) and par(fin) it resets both of > > them, and when it resets par(fig) there IS a check on the values, the > > values are larger than the current device and you get the error. Now, > > because there is an error in resetting par(fig), that parameter is not > > reset, so when you type par()$fin (or, equivalently, par("fin")) after > > the heatmap() call, you get the last setting that heatmap() did, which > > was from a layout inside heatmap, and so par("fig") is NOT what you set. > > Finally, there is no point in setting par(fig) before heatmap() because > > heatmap() is one of those functions that takes over the whole device > > anyway, so your par(fig), even if it was valid, would have no effect. > > If you want to make the heatmap() plot take up less of the page, you > > could set outer margins (see par(oma)), e.g., ... > > > > par(oma=rep(4, 4)) > > heatmap(x, Rowv = NA, Colv = NA, scale="none", col=cp(200)) > > thank you very much for the explanation. Now I understand at least the > strange > fig/fin values ;) There is only one question left: > >> If you want to make sure that each position in the heatmap is square, DO >> NOTHING, because the layout that heatmap() sets up is using "respect" so >> the image will be square no matter what you do. > > Okay, for the example, I've chosen it might be true. My initial reason to try > to force it to squares has been the visualization of matrix which is not > quadratic (e.g. 12x8). In this case heatmap stretches the coloured areas to > rectangles. I planned to set the figure region with the same length/width > ratio > as the matrix is to get squares... > If I understood everything now, I have to think about something else than > heatmap to make sure to get squares, right? The original heatmap() author may need to confirm this, but from my look at the code, yes. Paul > Thanks, Jim, I'll test this method for my purpose :) > > Ciao, > Antje > >> Paul >> >> >>>> And another question concerning the heatmap: May I force the funtion >>>> to plot A1 at the upper left corner instead of the lower left? >>>> >>>> I'll be glad about any idea how to solve these problems... >>>> >>>> Ciao, >>>> Antje >>>> >>>> ______________________________________________ >>>> R-help@stat.math.ethz.ch mailing list >>>> https://stat.ethz.ch/mailman/listinfo/r-help >>>> PLEASE do read the posting guide >>>> http://www.R-project.org/posting-guide.html >>>> and provide commented, minimal, self-contained, reproducible code. >>>> >>> ______________________________________________ >>> R-help@stat.math.ethz.ch mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide >>> http://www.R-project.org/posting-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >> > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 [EMAIL PROTECTED] http://www.stat.auckland.ac.nz/~paul/ ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.