[R] par(new=TRUE) vs par(new=FALSE)

Peter Dalgaard p.dalgaard at biostat.ku.dk
Mon Mar 14 19:22:50 CET 2005


Dirk Enzmann <dirk.enzmann at jura.uni-hamburg.de> writes:

> Just out of curiosity (and I hope that my question does not confuse
> those who intuitively understood the par(new=TRUE) statement right in
> the beginning):
> 
> I would like to know whether beginners (learning R) had the same
> difficulty as I had: Intuitively I thought that par(new=TRUE) would
> draw a new plot (and not into an already existing plot) and that
> par(new=FALSE) would not draw a new plot but draw into an already
> existing plot - opposed to what the par(new=TRUE) statement actually
> does. (It would be interesting to receive an answer also from those
> who meanwhile reached an expert status  in working with the R syntax).
> Perhaps my confusion is due to the fact that I am a trained
> right-handed that really is a left-handed (those people tend to
> mistake contrasts).
> 
> If there are a lot of people having this difficulty, I would like to
> know why the decision was made to define the mode of action of the
> par(new=TRUE) statement as it is now. Perhaps that helps me to
> understand better the way programmers tend to think.

Well, internal consistency tends to get higher priority than people's
intuition. 

We already had par("new") which reflects a variable that gets set TRUE
when a new page is created, and set FALSE when a page is "dirtied".

This controls whether things like plot() needs to "eject the paper"
and start a new plot area, or whether it can just draw into the
existing area. To write on top of an existing plot it is occasionally
useful to pretend that the plot is new so you set the variable
accordingly.

Now, we could of course have set up the logic so that par("new") was
TRUE whenever you were *not* at the beginning of a new plot. Or we
could have arranged so that par("new"=FALSE) would set par("new) to be
TRUE, but neither struck us a particularly good idea....

-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)             FAX: (+45) 35327907




More information about the R-help mailing list