【发布时间】: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 是假的。我无法弄清楚哪一部分出了问题,因此我列出了我的所有信息。
如果有人可以提供帮助或提供更多信息,非常感谢。
【问题讨论】: