带有rsconnect包的rgl包

时间:2018-02-07 07:44:57

标签: r rgl

使用rgl包在shinyR上绘制3D图片时遇到一些问题。我的代码在本地Rstudio上没有错误或问题。 3D情节确实如我所料那样出现。但是,每当我通过rsconnect包将它发布到shinyapps.io时,3D绘图都不会显示在网站上。同时,不会发生错误。这让我很困惑。我在互联网上寻找解决方案并上传一个简单的例子进行测试。这是代码:

library(shiny)
library(rgl)
library(rglwidget)
options(rgl.useNULL=TRUE) 
open3d(useNULL = TRUE) 
ids <- plot3d(rnorm(100), rnorm(100), rnorm(100))[1] 
scene <- scene3d() 
rgl.close() 
ui <- (fluidPage(
  checkboxInput("chk", label = "Display", value = FALSE),
  rglwidgetOutput("wdg")
))
server <- function(input, output, session) {
  options(rgl.useNULL = TRUE)
  save <- options(rgl.inShiny = TRUE)
  on.exit(options(save))
  output$wdg <- renderRglwidget({
    rglwidget(scene)
  })
}
if (interactive())
  shinyApp(ui = ui, server = server)

最后,有错误消息:

  

rgl.init中的警告(initValue,onlyNULL):   
RGL:无法打开X11显示器   
警告:'rgl_init'失败,运行rgl.useNULL = TRUE   
rglwidget包中的函数已移至rgl。   
附加包装:'rglwidget'   
从'package:rgl'掩盖以下对象:   
playwidget,rglwidget   
值[3L]出错:app.R没有返回shiny.appobj对象。   
电话:本地... tryCatch - &gt; tryCatchList - &gt; tryCatchOne - &gt;

正如你所看到的,错误信息提到“X11”,我谷歌这只是为了找到所有这些X11问题都与ubanto或mac环境有关(我的是win10)。因此,我找不到有用的答案。我也尝试过capabilities()函数但结果只是说我的X11是假的。我无法弄清楚哪个部分出了问题,因此我列出了所有的信息。
非常感谢任何人可以提供帮助或提供进一步的信息。

1 个答案:

答案 0 :(得分:0)

你不应该使用rglwidget包;它已经过时了。

有关X11的警告即将发布,因为您正试图在Shiny服务器上设置本地窗口。为避免这样做,请在 options(rgl.useNULL = TRUE)之前使用library(rgl) 。如果您执行此操作,则open3d来电中无需执行此操作。