To zależy trochę od tego, jaki jest twój cel końcowy.
Szybki i brudny hack do demonstracji w czasie rzeczywistym
Użycie Sys.sleep(seconds)
w pętli, w której seconds
wskazuje liczbę sekund między ramkami, jest realną opcją. Musisz ustawić parametry xlim
i ylim
w swoim wywołaniu, plot
aby wszystko działało zgodnie z oczekiwaniami.
Oto prosty kod demonstracyjny.
# Just a quick test of Sys.sleep() animation
x <- seq(0,2*pi, by=0.01)
y <- sin(x)
n <- 5
pause <- 0.5
ybnds <- quantile(n*y, probs=c(0,1))
x11()
# Draw successively taller sinewaves with a gradually changing color
for( i in 1:n )
{
plot(x, i*y, type="l", lwd=2, ylim=ybnds, col=topo.colors(2*n)[i])
Sys.sleep(pause)
}
Działa to całkiem dobrze, szczególnie przy użyciu X-Windows jako systemu okienkowego. Przekonałem się, że Mac quartz()
nie gra niestety nieźle.
Animowane GIF-y
Jeśli potrzebujesz czegoś, co można rozpowszechnić, opublikować na stronie internetowej itp., Spójrz na write.gif
funkcję w pakiecie caTools . Wyświetlanie pomocy write.gif
daje kilka fajnych przykładów, w tym kilka animacji - jedna z całkiem dobrym przykładem przy użyciu zestawu Mandelbrota.
Zobacz także tutaj i tutaj .
Bardziej precyzyjne sterowanie i bardziej zaawansowane animacje
Istnieje pakiet animacji , który wygląda całkiem sprawnie. Jednak sam go nie użyłem, więc nie mogę dać żadnych prawdziwych rekomendacji.
Ja już widziałem kilka dobrych przykładów wyjścia z tego pakietu i wyglądają bardzo ładne. Być może jedną z „najważniejszych cech” jest możliwość osadzenia animacji w pliku PDF.