Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Rmarkdown包vignette中嵌入rgl快照_R_R Markdown_R Package_Rgl_Vignette - Fatal编程技术网

如何在Rmarkdown包vignette中嵌入rgl快照

如何在Rmarkdown包vignette中嵌入rgl快照,r,r-markdown,r-package,rgl,vignette,R,R Markdown,R Package,Rgl,Vignette,我为我的包创建了一个R小插曲。此小插曲嵌入了一个带有webGL的交互式rgl图形 --- title: "title" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{title} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_

我为我的包创建了一个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显示的问题在于它会创建一个大文件(>1MB)。因此,我在CRAN上有一个关于目录大小的注释。我不想争论这个问题,而是想使用一个普通的图片来减少html输出的大小

rgl::plot3d(runif(10), runif(10), runif(10))
rgl::rgl.snapshot()

这显然不起作用。

您需要使用
knitr
文档中描述的旧
hook_rgl
方法,并在
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))
```