Это немного зависит от вашей конечной цели.
Быстрый и грязный хак для демонстраций в реальном времени
Использование Sys.sleep(seconds)
в цикле где seconds
указывает количество секунд между кадрами является жизнеспособным вариантом. Вам необходимо установить xlim
и ylim
параметры в вызове , чтобы plot
делать вещи так , как ожидалось.
Вот простой демонстрационный код.
# 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)
}
Это работает довольно хорошо, особенно с использованием X-Windows в качестве оконной системы. Я обнаружил, что Mac quartz()
не играет хорошо, к сожалению.
Анимированные картинки
Если вам нужно что-то, что можно распространять, публиковать на веб-странице и т. Д., Посмотрите на write.gif
функцию в пакете caTools . Отображение справки write.gif
дает несколько хороших примеров, в том числе несколько анимаций - одна с довольно хорошим примером с использованием набора Мандельброта.
Смотрите также здесь и здесь .
Более тонкая настройка управления и более красивые анимации
Есть анимационный пакет, который выглядит довольно способным. Я сам этим не пользовался, поэтому не могу дать никаких реальных рекомендаций в любом случае.
Я уже видел несколько хороших примеров выхода из этого пакета , и они выглядят довольно хорошо. Возможно, одним из «ярких моментов» является возможность вставлять анимацию в PDF.