Hi
Antje wrote: > There is no one who could help me with this? > > Antje schrieb: >> Hello, >> >> I have two questions. I'd like to visualize data with a heatmap and I have >> the >> following testcase: >> >> x <- rnorm(256) >> nx <- x + abs(min(x)) >> nnx <- 255/max(nx) * nx >> x <- matrix(nnx, 16, 16) >> rownames(x) <- >> c("A","B","C","D","E","F","G","I","H","J","K","L","M","N","O","P") >> par(fin=c(8.0,8.0)) >> cp <- colorRampPalette(c("white","springgreen","darkgreen"),space="Lab") >> heatmap(x, Rowv = NA, Colv = NA, scale="none", col=cp(200)) >> >> I defined the figure region to make sure that each position is a square. But >> with these settings I get the following output (though it looks nice): >> > x <- rnorm(256) >> > nx <- x + abs(min(x)) >> > nnx <- 255/max(nx) * nx >> > x <- matrix(nnx, 16, 16) >> > rownames(x) <- >> c("A","B","C","D","E","F","G","I","H","J","K","L","M","N","O","P") >> > par(fin=c(8.0,8.0)) >> > cp <- colorRampPalette(c("white","springgreen","darkgreen"),space="Lab") >> > heatmap(x, Rowv = NA, Colv = NA, scale="none", col=cp(200)) >> Fehler in par(op) : ungültiger Wert für den Grafikparameter "fig" >> spezifiziert >> > par(fin=c(8.0,8.0)) >> > cp <- colorRampPalette(c("white","springgreen","darkgreen"),space="Lab") >> > heatmap(x, Rowv = NA, Colv = NA, scale="none", col=cp(200)) >> Fehler in par(op) : ungültiger Wert für den Grafikparameter "fig" >> spezifiziert >> > par()$fig >> [1] 7.267443e-04 1.305448e-02 -2.862294e-17 9.876543e-01 >> > par()$fin >> [1] 0.08834875 7.06790021 >> >> Why do I get this error? Why does the parameters have these strange values >> (though I set the fin parameter before...) 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)) 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. 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. -- 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.