如何导出交互式 rgl 3D 绘图以共享或发布?

Posted

技术标签:

【中文标题】如何导出交互式 rgl 3D 绘图以共享或发布?【英文标题】:How to export an interactive rgl 3D Plot to share or publish? 【发布时间】:2015-06-17 23:34:28 【问题描述】:

我使用 rgl 包在 R 中制作了一个交互式 3D 绘图。我希望能够将它发送(并保持交互)给一位同事,这样她就可以在她的笔记本电脑上的会议上展示它(旋转它)。有没有办法做到这一点?

这是我用来生成绘图的代码:

这就是剧情:

library(rgl)
plot3d(pcaGB$x[,1:3], col=gbMeta2.5K$gbColor, type='s', size=1)

然后我使用 writeWebGL 将其导出为 html,但到目前为止没有任何运气:

browseURL(paste("file://", writeWebGL(dir=file.path("~/Documents/", "webGL"), width=700), sep=""))

这是我在浏览器窗口中返回的内容:

我也尝试过只使用 writeWebGL,但这会在目录中创建一个文件夹,其中包含一个 index.html 文件,该文件会在浏览器中打开与上面相同的图像。

【问题讨论】:

谢谢,但我需要它在导出时仍然是交互式的,这样她就可以自己旋转它。 是的,我试过了,但似乎没有用。而且我不知道如果有的话我会如何与她分享......? 感谢您的回复。我已将我一直在尝试使用 writeWebGL 的代码添加到我的问题中。它只是打开一个带有错误的浏览器窗口:( 尝试制作图,然后writeWebGL() 应该在您的工作目录中创建一个文件夹 webGL,其中包含其中的内容 还是不行。我只尝试了writeWebGL(),但在目录中创建了一个文件夹,其中包含一个 CanvasMatrix.jl 文件、一个 index.html 文件和一个 snapshot.png,看起来像是立方体边缘之一的特写。跨度> 【参考方案1】:

您可以使用 knitr 将交互式绘图导出为 html。详情见:including a interactive 3D figure with knitr。

【讨论】:

以上是关于如何导出交互式 rgl 3D 绘图以共享或发布?的主要内容,如果未能解决你的问题,请参考以下文章

如何在R / Shiny中将相机方向固定在交互式3D绘图中

如何将绘图仪表板应用程序导出到 html 独立文件以与其他人共享?

R rgl text3d() 工件块对象并更改绘图范围

R语言使用rgl包的plot3d函数可视化可以交互旋转的3D散点图(Rotating 3D scatter plot produced by the plot3d functio in rgl)

旋转 persp3d 绘图并将图像另存为 png

如何在rgl中增加spheres3d的平滑度