I would like to produce a matrix of plots, where par() is reset after
each plot (see below [simplified] example). When I use layout() to do
so, I seem to also reset the layout. I have not been able to figure out
how to prevent this from happening.
Any help is greatly appreciated!
Janke
Example code:
#Desired result is a layout of 2 plots: one red and one black
layout(matrix(1:2, nr=2))
par.ini <- par(no.readonly=TRUE)
par(col="red")
plot(1:100)
par(par.ini)
plot(1:10)
------------------
Janke ten Holt
Dept. of Psychology/Sociology
University of Groningen, the Netherlands
______________________________________________
R-h...@r-project.org 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.
#Desired result is a layout of 2 plots: one red and one black
par(mfrow=c(2,1))
par(col="red")
plot(1:100)
par(col="black")
plot(1:10)
--
Stephen Sefick
Let's not spend our time and resources thinking about things that are
so little or so large that all they really do for us is puff us up and
make us feel like gods. We are mammals, and have not exhausted the
annoying little problems of being mammals.
-K. Mullis
I am working on a function, which I feed data to plot in layouts of
specified dimensions. I want to be able to set any par() variables for
each plot in the layout. Because the next plot does not know which par()
variables were changed in the previous plot, I want to reset all par()
variables after each plot, rather than simply change back one specific
par() variable.
So I really need to reset par() without 'messing with' my layout.
Janke ten Holt schrieb:
> Dear list,
>
> I would like to produce a matrix of plots, where par() is reset after
> each plot (see below [simplified] example). When I use layout() to do
> so, I seem to also reset the layout. I have not been able to figure out
> how to prevent this from happening.
>
> Any help is greatly appreciated!
> Janke
>
> Example code:
> #Desired result is a layout of 2 plots: one red and one black
> layout(matrix(1:2, nr=2))
> par.ini <- par(no.readonly=TRUE)
look at par.ini: it's a list with all the argument-value pairs for par(). You might be able to solve
your problem by removing the appropriate elements from par.ini before calling par(par.ini). Do the
following to look which ones need to be kept for the layout:
par()
layout(matrix(1:2, nr=2))
par()
Tom
Yes, that had occured to me too. So I tried:
layout(matrix(1:2, nr=2))
par(no.readonly=TRUE)
plot(1:10)
par(no.readonly=TRUE)
This has differences in
fig
mfg
usr
xaxp
yaxp
But even keeping these back does not solve my problem. So I figured
there must be something else going on that I am unaware of...
btw, your exact suggestion,
> par()
> layout(matrix(1:2, nr=2))
> par()
does not result in any differences.
I think that what you want is
layout(matrix(1:2, nr=2))
opar <- par(col="red")
plot(1:100)
par(opar)
plot(1:10)
-Peter Ehlers
> btw, your exact suggestion,
>> par()
>> layout(matrix(1:2, nr=2))
>> par()
> does not result in any differences.
>
> ______________________________________________
> R-h...@r-project.org 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.
>
>
______________________________________________
This is a good introduction:
Paul Murrell. The grid graphics package. R News, 2(2):14-19, June 2002
Tom
This seems to work indeed. But I don't understand why... I would think
that opar contains the par settings, including the col="red", but I
guess it doesn't. I will look into par's behaviour some more...
Thank you!
Janke
Janke
>From ?par,
"Value
When parameters are set, their former values are returned in an
invisible named list."
Therefore opar <- par(col="red") will not contain col="red".
HTH,
baptiste
2009/10/27 Janke ten Holt <j.c.te...@rug.nl>:
> This seems to work indeed. But I don't understand why... I would think
> that opar contains the par settings, including the col="red", but I
> guess it doesn't. I will look into par's behaviour some more...
> Thank you!
>
> Janke
>> -Peter Ehlers
>>
______________________________________________