使用knitr它可以rgl在Rmarkdown源文件的html文档中嵌入3D图形:
```{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))
```
Run Code Online (Sandbox Code Playgroud)
但是html文档中的3D图形不是交互式的.是否有可能获得交互式3D图形?包的writeWebGL()功能rgl创建一个带有交互式3D图形的html文件,有没有办法直接包含这个HTML代码与Rmarkdown?否则如何手动包含此HTML代码?
这是一个今天不起作用的示例(3D图形不会出现在Chrome中):
在RMD源文件,这是很基本的:
```{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()
```
Run Code Online (Sandbox Code Playgroud)
我已经使用不同版本的针织与RStudio"编织"按钮,该文件在两种情况下rgl与knitr包(但这肯定是由于rgl因为与输出出现问题包writeWebGL功能):
R-2.15.2的旧版本:源文件和html呈现.并使用rgl_0.93.928 生成html文件 …