# global.par doesn't work set.par <- function(...) { par(mar = c(3.1, 3.1, 1.1, 1.1), xaxt = 'n', yaxt = 'n') return(invisible(NULL)) } knitr::knit_hooks$set(set.par = set.par) # nb setting fig.show = 'animate' here doesn't seem to work knitr::opts_chunk$set(interval = 0.25, out.height = '25%', fig.width = 4, fig.height = 2.5) knitr::opts_knit$set(animation.fun = knitr::hook_gifski, global.par = TRUE, base.url = "")
par(xaxt = 'n', yaxt = 'n')
to remove clutterlibrary(anim.plots) anim.plot(1:5, 1:5, col = "green")
times
controls the framesx <- rep(1:100/10, 20) times <- rep(1:20, each = 100) # twenty frames with 100 points each y <- sin(x*times/4) anim.plot(x, y, times = times, type = "l", col = "orange", lwd = 2)
window
:symbs <- anim.plot(rep(1:10, 2), rep(2:1, each = 10), window = 1:t, pch = 1:20, ylim = c(0,3), cex = 2, col = 1:5, xlab = paste("Plot symbols", 1:20))
x <- rnorm(4000); y<- rnorm(4000) x <- rep(x, 40); y <- rep(y, 40) xlims <- 4*2^(-(1:40/10)) ylims <- xlims <- rbind(xlims, -xlims) anim.plot(x, y, times=40, xlim=xlims, ylim=ylims, col=rgb(0,1,.5,.3), pch=19, xaxt = 'n', yaxt = 'n')
window
again:## discoveries 1860-1959 xlim <- rbind(1860:1959,1870:1969) anim.plot(1860:1959, discoveries, times = 1:100, xlim = xlim, col = "red", xaxp = rbind(xlim, 10), window = t:(t+10), type = "h", lwd = 8, xaxt = "s", yaxt = "s")
data(ChickWeight) ChickWeight$chn <- as.numeric(as.factor(ChickWeight$Chick)) tmp <- anim.plot(weight ~ chn + Time, data = ChickWeight, col = as.numeric(Diet), pch = as.numeric(Diet))
replay
with before
and after
:replay(tmp, after = legend("topleft", legend = paste("Diet", 1:4), pch = 1:4, col = 1:4, horiz = TRUE))
anim.hist(rep(rnorm(5000), 7), times = rep(1:7, each = 5000), breaks = c(5, 10, 20, 50, 100, 200, 500, 1000), main = "Normal distribution")
anim.curve(x^t, times = 10:50 / 10, n = 20)
data(volcano) tmp <- volcano tmp[] <- 200 - ((row(tmp) - 43)^2 + (col(tmp) - 30)^2) / 20 cplot <- array(NA, dim = c(87, 61, 20)) cplot[ , , 1] <- tmp cplot[ , , 20] <- volcano cplot <- apply(cplot, 1:2, function(x) seq(x[1], x[20], length.out = 20)) cplot <- aperm(cplot, c(2, 3, 1))
anim.contour(z = cplot, times = 1:20, levels = 80 + 1:12 * 10, lty = c(1, 2, 2))
cplot2 <- apply(cplot, 1:2, function(x) seq(0, x[20], length.out = 20)) cplot2 <- aperm(cplot2, c(2, 3, 1))
par(mar = rep(0, 4)) anim.persp(z = cplot2, times = 1:20, xlab = "", ylab = "", zlab = "Height", phi = 45, theta = 30, speed = 5, border = NA, r = 3, col = "yellowgreen", shade = .5, box = FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.