>>>>> "MM" == Martin Maechler <[EMAIL PROTECTED]> >>>>> on Tue, 25 Jan 2005 09:59:03 +0100 writes:
>>>>> "Paul" == Paul Murrell <[EMAIL PROTECTED]> >>>>> on Tue, 25 Jan 2005 13:40:15 +1300 writes: Paul> Hi Paul> Cari G Kaufman wrote: >>> Hello, >>> >>> Does anyone know how to make "movies" in R by making a >>> sequence of plots? I'd like to animate a long >>> trajectory for exploratory purposes only, without >>> creating a bunch of image files and then using another >>> program to string them together. In Splus I would do >>> this using double.buffer() to eliminate the flickering >>> caused by replotting. For instance, with a 2-D >>> trajectory in vectors x and y I would use the following: >>> >>> motif() >>> double.buffer("back") >>> for (i in 1:length(x)) { >>> plot(x[i], y[i], xlim=range(x), ylim=range(y)) >>> double.buffer("copy") >>> } >>> double.buffer("front") >>> >>> I haven't found an equivalent function to double.buffer in R. I tried >>> playing around with dev.set() and dev.copy() but so far with no success >>> (still flickers). Paul> Double buffering is only currently an option on the Windows graphics Paul> device (and there it is "on" by default). So something like ... Paul> x <- rnorm(100) Paul> for (i in 1:100) Paul> plot(1:i, x[1:i], xlim=c(0, 100), ylim=c(-4, 4), pch=16, cex=2) Paul> is already "smooth" MM> well, sorry Paul, but not for my definition of "smooth"! MM> Instead, MM> n <- 100 MM> plot(1,1, xlim=c(0,n), ylim=c(-4,4), type="n") MM> x <- rnorm(n) MM> for (i in 1:n) { points(i, x[i], pch=16, cex=2); Sys.sleep(0.02) } MM> comes much closer to my version of "smooth" ;-) I apologize to Paul, since what I said seems to be quite platform dependent. Here's my current "knowledge" on the matter: o Paul's " for(..) plot(..) " - flickers quite a bit for me {on Linux X11 with no particularly fast graphics card}. - seems quite smooth for at least two Windows users who have relatively fast graphics cards. o My solution of " for(..) { points(..) ; Sys.sleep(..) } " doesn't redraw the coordinate system and so doesn't "flicker" (afaik, independently of platform) HOWEVER on windows; the graphics are somehow buffered and points are not drawn one by one, but rather in batches --> "not smooth" Martin ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html