[R] Setting the 'fig' graphic parameter
Marc Schwartz
MSchwartz at MedAnalytics.com
Mon Mar 22 17:40:51 CET 2004
On Mon, 2004-03-22 at 10:22, Mario dos Reis wrote:
> Hi guys,
>
> # I would like to plot a figure with the following layout:
> #
> # ----------------------------
> # | | |
> # | | |
> # | | |
> # | |--------|
> # | | |
> # | | |
> # | | |
> # ----------------------------
>
> x <- rnorm(100)
> y <- rnorm(100)
>
> par(fig=c(0,0.7,0,1))
> plot(x,y)
>
> # (please maximise your plotting device so you get a 'rectangular' area)
>
> # now lets do the upper corner 'little' plot
>
> par(fig=c(0.7, 1, 0.5, 1))
> plot(x,y)
>
> # and ...
>
> par(fig=c(0.7, 1, 0, 0.5))
> plot(x,y)
>
> Now, my problem is as you might have seen already, that the old figure
> gets deleted when the new one is placed. I was trying to reproduce an
> exercise a saw in an S-plus book. I would really like to know what is
> going on, the documentation about graphic parameters is not very helpful
> about fig, and I would really like to set a graph with the above layout.
>
> Thanks,
> Mario dos Reis.
Try reading through chapter 12 in An Introduction to R, which covers
plotting basics. There are differences between R and S-PLUS.
You need to use par(new = TRUE) prior to the second and third plots,
otherwise each call to plot() clears the plot device.
Use the following:
x <- rnorm(100)
y <- rnorm(100)
par(fig=c(0,0.7,0,1))
plot(x,y)
par(new = TRUE)
par(fig=c(0.7, 1, 0.5, 1))
plot(x,y)
par(new = TRUE)
par(fig=c(0.7, 1, 0, 0.5))
plot(x,y)
That should get you what you want.
Also, take a look at the layout() function (?layout), which enables you
to define sections within the overall plotting area as do par("mfcol")
and par("mfrow").
HTH,
Marc Schwartz
More information about the R-help
mailing list