tutorial the rmarkdown guide examples definitive html r knitr rgl r-markdown

html - rmarkdown - r markdown: the definitive guide



incluyendo una figura 3D interactiva con knitr (1)

hook_webgl() un nuevo gancho hook_webgl() en knitr , que se incorporó a rgl más tarde. Aquí hay un ejemplo:

```{r setup} library(knitr) library(rgl) knit_hooks$set(webgl = hook_webgl) ``` ```{r testgl, webgl=TRUE} x <- sort(rnorm(1000)) y <- rnorm(1000) z <- rnorm(1000) + atan2(x,y) plot3d(x, y, z, col=rainbow(1000)) ```

Vea un ejemplo aquí (y la fuente Rmd ).

Usando knitr es posible incrustar un rgl gráficos 3D en un documento html desde un archivo fuente Rmarkdown :

```{r setup} library(rgl) knit_hooks$set(rgl = hook_rgl) x <- sort(rnorm(1000)) y <- rnorm(1000) z <- rnorm(1000) + atan2(x,y) ``` ```{r, rgl=TRUE} plot3d(x, y, z, col=rainbow(1000)) ```

Pero el gráfico 3D no es interactivo en el documento html. ¿Es posible obtener un gráfico 3D interactivo? La función writeWebGL() del paquete rgl crea un archivo html con un gráfico 3D interactivo, ¿hay alguna manera de incluir directamente este código html con Rmarkdown? De lo contrario, ¿cómo incluir este código html manualmente?

Actualización 24/06/2013

Aquí hay un ejemplo que no funciona hoy (el gráfico 3D no aparece en Chrome):

  • el archivo fuente Rmd , que es muy básico:

    ```{r setup} library(rgl) knit_hooks$set(webgl = hook_webgl) ``` ```{r, webgl=TRUE} M <- rbind( c(0,0,0), c(-1,4,0), c(4,9,0), c(6,3,0) ) points3d(M,col=''red'') ``` ```{r} sessionInfo() ```

    He tejido este archivo con el botón "knit" de RStudio en dos situaciones usando diferentes versiones de paquetes rgl y knitr (pero esto seguramente se debe al paquete rgl porque el problema ocurre con la salida de la función writeWebGL ):

  • versiones antiguas con R-2.15.2: archivo fuente y renderizado html . Y el archivo html generado por writeWebGL con rgl_0.93.928 . Para mí funciona bien (solo hay 4 puntos rojos en la trama 3D ... no es fácil de ver en mi pantalla sucia, pero los veo).

  • últimas versiones con R-2.15.3: archivo fuente y renderizado html . Y el archivo html generado por writeWebGL con rgl_0.93.935 . Para mí, no funciona: el gráfico 3D no está visible. Uso Windows 7 y no funciona con Chrome, ni con Firefox.

Editar 28/06/2013

El problema planteado por la actualización 24/06 no tiene nada que ver con knitr . Lo reformulé en esta publicación: WebGL rendering con rgl 0.93.935 R package