我正在尝试使用R中的visreg包的visreg2d函数创建一个RGL图,以将其包含到通过对RMarkdown文件运行knitr而创建的文档中。
我可以从rgl包函数plot3d和spheres3d中获得RGL图,但不能从我的HTML文档中的visreg2d(..., plot.type = "rgl")调用中获得。
以下是从示例here构建的示例RMarkdown文件
---
output:
html_document:
self_contained: no
---
```{r setup, results='asis'}库(Knitr)
库(Rsm)
库(Visreg)
knit_hooks$set(webgl = hook_webgl)
cat('',readLines(system.file('WebGL','CanvasMatrix.js',package = 'rgl')),'',sep = '\n')
This works fine.
```{r testgl, webgl=TRUE}X <-排序(rnorm(1000))
Y <- rnorm(1000)
Z <- rnorm(1000) + atan2(x,y)
plot3d(x,y,z,col=rainbow(1000))
This one also works.
```{r testgl2, webgl=TRUE}open3d()
spheres3d(x,y,z,col=rainbow(1000))
```{r, webGL = TRUE}库(Rsm)
swiss2.lm <- lm(肥力~农业*教育,数据=瑞士)
open3d()
visreg2d(swiss2.lm,“教育”,“农业”,plot.type = "rgl")
对plot3d和spheres3d的调用有效,但对visreg2d的调用无效。也就是说,即使我在本地可以看到RGL图,它也不会嵌入到我的HTML文档中。任何关于如何让它工作的建议都将不胜感激。
发布于 2015-01-29 04:11:17
这只是一个打字错误--您输入的是webGL = TRUE而不是webgl=TRUE。
然而,我要补充的是,当我在我的机器上尝试时,我必须使用visreg2d的nn选项(例如,nn=39)来降低visreg图的分辨率(否则我会遇到“堆栈空间溢出”错误)。
https://stackoverflow.com/questions/26690138
复制相似问题