Це трохи залежить від того, яка ваша кінцева мета.
Швидкий і брудний злом для демонстрацій у реальному часі
Використання 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()
, на жаль, не грає добре.
Анімовані GIF
Якщо вам потрібно щось перерозподілити, розмістити на веб-сторінці тощо, перегляньте write.gif
функцію в пакеті caTools . Відображення довідки write.gif
наводить декілька приємних прикладів, включаючи пару анімацій - одна із досить приємним прикладом із використанням набору Мандельброта.
Дивіться також тут і тут .
Більш точна настройка управління та більш фантазійні анімації
Є анімаційний пакет, який виглядає досить здатним. Я сам цим не користувався, тому не можу дати жодних реальних рекомендацій.
Я вже бачив кілька хороших прикладів виходу з цього пакета , і вони виглядають досить добре. Можливо, однією з "родзинок" є можливість вбудувати анімацію в PDF.