我为包裹创建了R小插图。这个小插图在webGL中嵌入了一个互动的rgl图形。
---
title: "title"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{title}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
```r
rgl::plot3d(runif(10), runif(10), runif(10))
```
```{r, echo = FALSE}
rgl::plot3d(runif(10), runif(10), runif(10))
rgl::rglwidget()
```
它工作得很好,但是满足我的需求而被淘汰。一个简单的非交互式图片就足够了。 webGL显示的问题在于它会创建一个大文件(> 1 Mb)。因此,我在CRAN上有关于目录大小的注释。与其争论这个注意,我不想使用常规图片来减小html输出的大小。
rgl::plot3d(runif(10), runif(10), runif(10))
rgl::rgl.snapshot()
这显然行不通。
答案 0 :(得分:3)
您需要使用hook_rgl
文档中所述的旧knitr
方法,并在rgl
中进行了更新。例如,这些块将插入一个PNG图形:
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
rgl::setupKnitr()
```
```{r rgl=TRUE, dev='png'}
rgl::plot3d(runif(10), runif(10), runif(10))
```