[英]rgl package with rsconnect package
使用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
value [3L]错误:app.R未返回Shiny.appobj对象。
调用:本地... tryCatch-> tryCatchList-> tryCatchOne->
如您所见,错误消息中提到了“ X11”,我在Google上搜索这所有X11问题均与ubanto或mac环境(mine为win10)有关。 因此,我找不到有用的答案。 我也尝试过capabilities()函数,但结果只是说我的X11是False。 我无法弄清楚哪一部分出错了,因此我列出了所有信息。
非常感谢任何人可以提供帮助或提供更多信息。
您不应该使用rglwidget
包; 它已经过时了。
有关X11的警告即将到来,因为您正在尝试在Shiny服务器上设置本地窗口。 为避免这样做,请在 library(rgl)
之前使用options(rgl.useNULL = TRUE)
library(rgl)
。 如果执行此操作,则在open3d
调用中将open3d
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.