Thanks, I looked into the grid package. The grid package does do a better job of managing the plotting, but it's still re-plotting the entire canvas whenever a modifcation is made to a plot.
I guess I should have been a little clearer with my question. Here's a sample function. library(tcltk) x = runif(10000) y = runif(10000) v1 <- viewport() grid.rect(gp = gpar(lty = "dashed")) pushViewport(plotViewport(c(5.1, 4.1, 4.1, 2.1))) pushViewport(dataViewport(x, y)) grid.rect() grid.xaxis() grid.yaxis() grid.points(x, y) grid.text("1:10", x = unit(-3, "lines"), rot = 90) v2 <- viewport() push.viewport() grid.points(x[1],y[1],pch=16,gp=gpar(col='green'),name='pts') index = tclVar(1) grid refresh <- function(...){ i <- as.numeric(tclvalue(index)) grid.edit('pts',x=unit(x[i],'npc'),y=unit(y[i],'npc')) } m <- tktoplevel() pScale <- tkscale(m,from=0,to=10000,orient='horiz',resolution=1,variable=index,command=refresh) tkgrid(pScale) The green point should change as the slider is moved, but there are so many points in the background that replotting them confuses the graphic. What I want to be able to do is replt the green point without removing the background. Sam Stewart On Wed, Sep 24, 2008 at 11:12 AM, Ben Bolker <[EMAIL PROTECTED]> wrote: > R Help <rhelp.stats <at> gmail.com> writes: > >> >> Hello list, >> >> I've been working on this problem for a while and I haven't been able >> to come up with a solution. >> >> I have a couple of functions that plot a bunch of data, then a single >> point on top of it. What I want is to be able to change the plot of >> the point without replotting all the data. Consider the following >> example: >> >> x = rnorm(100,1,0.5) >> y = rnorm(100,1,0.5) >> plot(x,y,pch=16) >> points(x[35],y[35],pch=19,col=6,cex=3) >> >> What I want to be able to do is to change the purple point to a >> different value without replotting everything. >> > > R's default (base) graphics model is a 'canvas' -- things get > drawn, but nothing ever gets erased. (The cheap solution is > to overplot in the background color, but that > won't work if there's stuff underneath the point > that you want to preserve.) You probably need to move > to the grid graphics package (hint: buy or borrow Paul Murrell's > book) to do something like this. > > Ben Bolker > > ______________________________________________ > R-help@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. > ______________________________________________ R-help@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.