【问题标题】:rgl package with rsconnect packagergl 包和 rsconnect 包
【发布时间】:2018-07-17 10:11:49
【问题描述】:

我在使用 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 -> tryCatchList -> tryCatchOne ->

如你所见,错误信息中提到了“X11”,我google一下才发现所有这些X11问题都与ubanto或mac环境有关(我的是win10)。因此,我找不到有用的答案。我也尝试了功能()功能,但结果只是说我的 X11 是假的。我无法弄清楚哪一部分出了问题,因此我列出了我的所有信息。
如果有人可以提供帮助或提供更多信息,非常感谢。

【问题讨论】:

    标签: r rgl


    【解决方案1】:

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

    关于 X11 的警告即将到来,因为您正试图在 Shiny 服务器上设置一个本地窗口。为避免这样做,请使用options(rgl.useNULL = TRUE) 之前 library(rgl)。如果您这样做,在open3d 调用中就不需要了。

    【讨论】:

      猜你喜欢
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多