Skip to content
Permalink
Browse files

add ?dl=1 to mp4 video src because Safari is very picky about HTTP Ra…

…nge requests, while other browsers do not seem to care

dl=1 seems to make Updog redirect to the Dropbox download link, and Range requests will work there
  • Loading branch information...
yihui committed Apr 13, 2017
1 parent cba511b commit d2cf99e3ce78abaadeb67e25af6680cd5a7ec990
Showing with 64 additions and 62 deletions.
  1. +4 −2 R/build.R
  2. +1 −1 content/animation/example/BM-circle.md
  3. +2 −2 content/animation/example/MC-hitormiss.md
  4. +2 −2 content/animation/example/MC-samplemean.md
  5. +2 −2 content/animation/example/Rosling-bubbles.md
  6. +2 −2 content/animation/example/bisection-method.md
  7. +3 −3 content/animation/example/boot-iid.md
  8. +2 −2 content/animation/example/boot-lowess.md
  9. +1 −1 content/animation/example/brownian-motion.md
  10. +2 −2 content/animation/example/buffon-needle.md
  11. +2 −2 content/animation/example/clt-ani.md
  12. +1 −1 content/animation/example/conf-int.md
  13. +2 −2 content/animation/example/cv-ani.md
  14. +1 −1 content/animation/example/cv-nfeaturesLDA.md
  15. +2 −2 content/animation/example/flip-coin.md
  16. +4 −4 content/animation/example/grad-desc.md
  17. +3 −3 content/animation/example/kmeans-ani.md
  18. +2 −2 content/animation/example/knn-ani.md
  19. +2 −2 content/animation/example/least-squares.md
  20. +2 −2 content/animation/example/lln-ani.md
  21. +4 −4 content/animation/example/moving-block.md
  22. +2 −2 content/animation/example/mwar-ani.md
  23. +4 −4 content/animation/example/newton-method.md
  24. +1 −1 content/animation/example/price-ani.md
  25. +1 −1 content/animation/example/quincunx.md
  26. +1 −1 content/animation/example/quincunx2.md
  27. +1 −1 content/animation/example/sample-cluster.md
  28. +2 −2 content/animation/example/sample-ratio.md
  29. +1 −1 content/animation/example/sample-simple.md
  30. +1 −1 content/animation/example/sample-strat.md
  31. +1 −1 content/animation/example/sample-system.md
  32. +1 −1 content/animation/example/sim-qqnorm.md
  33. +1 −1 content/animation/example/vanke1127.md
  34. +1 −1 content/animation/example/vi-lilac-chaser.md
@@ -32,11 +32,13 @@ for (i in seq_len(nrow(files))) {
build_one(unlist(files[i, 1:2]), files[i, 3])
}

# add https://assets.yihui.name to image/video URLs /figures/..., and add the
# query param ?dl=1 so that mp4 works on Safari (picky about Range requests)
if (!local && Sys.which('sed') != '') for (i in files[, 2]) {
Sys.chmod(i, '644') # unlock .md
# add https://assets.yihui.name to image/video URLs /figures/...
system2('sed', paste(
"-i '' 's@\\([(\"]\\)\\(/figures/\\)@\\1https://assets.yihui.name\\2@g'", i
"-i '' -e 's@\\([(\"]\\)\\(/figures/\\)@\\1https://assets.yihui.name\\2@g'",
"-e 's@\\(/figures/[^.]*\\.mp4\\)\\([\")]\\)@\\1?dl=1\\2@g'", i
))
Sys.chmod(i, '444') # lock .md again
}
@@ -20,4 +20,4 @@ par(mar = rep(0.5, 4))
BM.circle(cex = 2, pch = 19)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/BM-circle/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/BM-circle/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>
@@ -22,7 +22,7 @@ ani.options(interval = 0.2, nmax = 100)
MC.hitormiss()$est
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/MC-hitormiss/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/MC-hitormiss/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>

```
## [1] 0.1725
@@ -34,7 +34,7 @@ MC.hitormiss()$est
MC.hitormiss(from = 0.5, to = 1)$est
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/MC-hitormiss/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/MC-hitormiss/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>

```
## [1] 0.07874
@@ -31,7 +31,7 @@ par(mar = c(4, 4, 1, 1))
MC.samplemean(border = NA)$est
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/MC-samplemean/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/MC-samplemean/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>

```
## [1] 0.1638
@@ -58,7 +58,7 @@ MC.samplemean(adj.x = FALSE, col.rect = c(rgb(0, 0, 0, 0.3),
MC.samplemean(FUN = function(x) x^3 - 0.5^3, border = NA)$est
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/MC-samplemean/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/MC-samplemean/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>

```
## [1] 0.09573
@@ -37,7 +37,7 @@ par(mar = c(4, 4, 0.2, 0.2))
Rosling.bubbles()
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/Rosling-bubbles/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/Rosling-bubbles/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>



@@ -47,4 +47,4 @@ Rosling.bubbles(type = "rectangles", data = matrix(abs(rnorm(50 *
10 * 2)), ncol = 2))
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/Rosling-bubbles/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/Rosling-bubbles/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>
@@ -32,7 +32,7 @@ ani.options(nmax = 30)
xx = bisection.method()
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/bisection-method/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/bisection-method/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>

```r
xx$root # solution
@@ -49,7 +49,7 @@ f = function(x) x^3 - 7 * x - 10
xx = bisection.method(f, c(-3, 5))
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/bisection-method/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/bisection-method/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>



@@ -31,7 +31,7 @@ ani.options(nmax = 50)
boot.iid(main = c("", ""))
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/boot-iid/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/boot-iid/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>


```r
@@ -40,7 +40,7 @@ boot.iid(x = rchisq(15, 5), statistic = median, main = c("",
""))
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/boot-iid/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/boot-iid/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>


```r
@@ -49,4 +49,4 @@ par(mar = c(1.5, 3, 2.5, 0.1), cex.main = 1)
boot.iid(heights = c(1, 2))
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/boot-iid/demo-c.mp4" /><p>plot of chunk demo-c</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/boot-iid/demo-c.mp4?dl=1" /><p>plot of chunk demo-c</p></video>
@@ -20,11 +20,11 @@ ani.options(nmax = 100, interval = 0.02)
boot.lowess(cars, pch = 20, xlab = "speed", ylab = "dist")
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/boot-lowess/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/boot-lowess/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>


```r
boot.lowess(cars, f = 1/3, pch = 20)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/boot-lowess/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/boot-lowess/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>
@@ -28,4 +28,4 @@ brownian.motion(pch = 21, cex = 5, col = "red", bg = "yellow",
main = "Demonstration of Brownian Motion")
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/brownian-motion/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/brownian-motion/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>
@@ -31,7 +31,7 @@ par(mar = c(3, 2.5, 0.5, 0.2), pch = 20, mgp = c(1.5, 0.5, 0))
buffon.needle()
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/buffon-needle/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/buffon-needle/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>


```r
@@ -40,4 +40,4 @@ ani.options(nmax = 400, 1)
buffon.needle(redraw = FALSE)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/buffon-needle/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/buffon-needle/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>
@@ -29,7 +29,7 @@ op = par(mar = c(3, 3, 1, 0.5), mgp = c(1.5, 0.5, 0), tcl = -0.3)
clt.ani(type = "s")
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/clt-ani/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/clt-ani/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>

```r
par(op)
@@ -45,4 +45,4 @@ f = function(n) rchisq(n, 5)
clt.ani(FUN = f, mean = 5, sd = sqrt(2 * 5))
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/clt-ani/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/clt-ani/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>
@@ -34,7 +34,7 @@ ani.options(interval = 0.1, nmax = 100)
conf.int(0.9, main = "Demonstration of Confidence Intervals")
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/conf-int/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/conf-int/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>


This animation shows the concept of the confidence interval which depends on the observations: if the samples change, the interval changes too. At last we can see that the coverage rate will be approximate to the confidence level.
@@ -26,7 +26,7 @@ cv.ani(main = "Demonstration of the k-fold Cross Validation",
bty = "l")
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/cv-ani/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/cv-ani/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>



@@ -36,6 +36,6 @@ cv.ani(main = "Demonstration of the k-fold Cross Validation",
cv.ani(x = runif(15), k = 15)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/cv-ani/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/cv-ani/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>


@@ -40,6 +40,6 @@ cv.nfeaturesLDA(pch = 19)
## Loading required namespace: MASS
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/cv-nfeaturesLDA/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/cv-nfeaturesLDA/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>

This animation provides an illustration of the process of finding out the optimum number of variables using k-fold cross-validation in a linear discriminant analysis (LDA).
@@ -37,13 +37,13 @@ flip.coin(faces = c("Head", "Stand", "Tail"), type = "n", prob = c(0.45,
0.1, 0.45), col = c(1, 2, 4))
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/flip-coin/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/flip-coin/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>


```r
flip.coin(bg = "yellow")
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/flip-coin/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/flip-coin/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>


@@ -41,7 +41,7 @@ xx$par # solution
xx$persp(col = "lightblue", phi = 30) # perspective plot
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/grad-desc/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/grad-desc/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>

```r
## define more complex functions; a little time-consuming
@@ -53,7 +53,7 @@ xx = grad.desc(f1, pi * c(-2, -2, 2, 2), c(-2 * pi, 2))
xx$persp(col = "lightblue", theta = 30, phi = 30)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/grad-desc/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/grad-desc/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>


```r
@@ -73,7 +73,7 @@ grad.desc(FUN = function(x1, x2) {
## number of iterations reached!
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/grad-desc/demo-c.mp4" /><p>plot of chunk demo-c</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/grad-desc/demo-c.mp4?dl=1" /><p>plot of chunk demo-c</p></video>


```r
@@ -85,7 +85,7 @@ xx = grad.desc(f2, c(-2, -2, 2, 2), c(-1, 0.5), gamma = 0.1,
tol = 1e-04)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/grad-desc/demo-d.mp4" /><p>plot of chunk demo-d</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/grad-desc/demo-d.mp4?dl=1" /><p>plot of chunk demo-d</p></video>


```r
@@ -28,7 +28,7 @@ par(mar = c(3, 3, 1, 1.5), mgp = c(1.5, 0.5, 0))
kmeans.ani()
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/kmeans-ani/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/kmeans-ani/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>


```r
@@ -39,12 +39,12 @@ colnames(x) = c("x", "y")
kmeans.ani(x, centers = 2)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/kmeans-ani/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/kmeans-ani/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>


```r
## what if we cluster them into 3 groups?
kmeans.ani(x, centers = 3)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/kmeans-ani/demo-c.mp4" /><p>plot of chunk demo-c</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/kmeans-ani/demo-c.mp4?dl=1" /><p>plot of chunk demo-c</p></video>
@@ -35,7 +35,7 @@ knn.ani(train = x, test = y, cl = rep(c("first class", "second class"),
each = 40), k = 30)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/knn-ani/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/knn-ani/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>


```r
@@ -46,7 +46,7 @@ knn.ani(train = x, test = y, cl = rep(c("first", "second", "third"),
each = 15), k = 25, cl.pch = c(2, 3, 19), dist.lty = 3)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/knn-ani/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/knn-ani/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>


```r
@@ -23,14 +23,14 @@ ani.options(interval = 0.3, nmax = 50)
least.squares()
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/least-squares/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/least-squares/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>


```r
## intercept changing
least.squares(ani.type = "intercept")
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/least-squares/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/least-squares/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>

We want to find an estimate for the slope in 50 candidate slopes, so we just compute the RSS one by one.
@@ -26,14 +26,14 @@ ani.options(interval = 0.01, nmax = 150)
lln.ani(pch = ".")
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/lln-ani/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/lln-ani/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>


```r
## chi-square distribution; population mean = df
lln.ani(FUN = function(n, mu) rchisq(n, df = mu), mu = 5, cex = 0.6)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/lln-ani/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/lln-ani/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>

The sample mean approaches to the population mean as the sample size n grows
@@ -36,7 +36,7 @@ moving.block(dat = cumsum(rnorm(300)), FUN = function(..., dat = dat,
}, type = "o", pch = 20)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/moving-block/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/moving-block/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>


```r
@@ -51,7 +51,7 @@ moving.block(dat = HuSpeech, FUN = function(..., dat = dat, i = i,
}, type = "o", pch = 20)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/moving-block/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/moving-block/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>


```r
@@ -77,7 +77,7 @@ moving.block(dat = sunspot.month, block = 132, FUN = function(...,
## adjust 'block' or ani.options('nmax')
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/moving-block/demo-c.mp4" /><p>plot of chunk demo-c</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/moving-block/demo-c.mp4?dl=1" /><p>plot of chunk demo-c</p></video>



@@ -96,4 +96,4 @@ moving.block(quakes[order(quakes$depth), c("long", "lat")], FUN = function(...,
}, pch = 20, col = rgb(0, 0, 0, 0.5))
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/moving-block/demo-d.mp4" /><p>plot of chunk demo-d</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/moving-block/demo-d.mp4?dl=1" /><p>plot of chunk demo-d</p></video>
@@ -23,12 +23,12 @@ mwar.ani(lty.rect = 3, pch = 21, col = "red", bg = "yellow",
type = "o")
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/mwar-ani/demo-a.mp4" /><p>plot of chunk demo-a</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/mwar-ani/demo-a.mp4?dl=1" /><p>plot of chunk demo-a</p></video>


```r
## for the data 'pageview'
mwar.ani(pageview$visits, k = 30)
```

<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/mwar-ani/demo-b.mp4" /><p>plot of chunk demo-b</p></video>
<video controls loop autoplay><source src="https://assets.yihui.name/figures/animation/example/mwar-ani/demo-b.mp4?dl=1" /><p>plot of chunk demo-b</p></video>

0 comments on commit d2cf99e

Please sign in to comment.
You can’t perform that action at this time.