我正在尝试使用knitr和rgl在我的htlm输出中包含一个交互式绘图。我过去已经取得了成功,但我现在无法从标准示例中生成图形。当我运行下面的代码时,我的输出包含错误"您的浏览器不支持WebGL。见http://get.webgl.org"。当我检查它是否支持时,我的浏览器可以与其他交互式图形一起使用。
任何帮助将不胜感激,我可能会犯一个简单的错误。
---
output:
html_document:
keep_md: yes
---
```
```{r setup, results='asis'}
library(rgl)
library(knitr)
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))
```
答案 0 :(得分:2)
您不会说出您正在使用的rgl版本。最近有很多变化,所以R-forge的版本与knitr不兼容(至少我最后一次看)。我无法记住CRAN上的版本是否兼容。
如果您使用的是R-forge版本,我建议暂时使用rgl包中包含的knitr hook(在https://r-forge.r-project.org/scm/viewvc.php/pkg/rgl/vignettes/setup.R?view=markup&root=rgl中)。
一旦事情安定下来,我将把必要的修改转移到义晖。
编辑添加:knitr钩子函数现在从rgl导出(如rgl :: hook_webgl)。这是在CRAN上。仍然只在R-forge上,如果首先加载knitr,钩子将自动安装。
进一步编辑:不要使用hook_webgl,请使用rglwidget()函数。这已经在rgl的CRAN版本中存在了一段时间。