Skip to content

in par(mfrow=c(1, 2)), how to keep one half plot static and the other half changing

3 messages · Baoqiang Cao, Duncan Murdoch, Greg Snow

#
Hi,

I'm trying to plot something in the following way and would like if
you could help:

I'd like in a same plot window, two plots are shown, the left one is a
bird-view plot of the whole data, the right half keep changing, i.e.,
different plots will be shown up on request, so that when I
select/click on some where in the left plot, the right plot will be
the corresponding plot.

What I did is:

par(mfrow=c(1,2))
plot(x, y)

while(1) {
...
pxy <- locator(1, type="p")

#select data point (dx,dy) based on pxy for a new plot
..

plot(dx,dy)
}

I ended up with the left plot is overwritten by plot(dx,dy). Is there
anyway to keep the left side intact while changing plots on the right
side?


Thanks a lot!

Baoqiang
#
On 12-11-27 10:46 AM, Baoqiang Cao wrote:
Yes, use the "mfg" option of par().  For example,

par(mfrow=c(1,2))
plot(1)
for (i in 1:100) {
   par(mfg=c(1,2))
   plot(i)
}

Since this overplots each time, you may need something fancy to clear 
the display (e.g. see ?rect).

Duncan