R shiny和rgl:显示轴时3D点消失

时间:2018-01-05 00:40:34

标签: r shiny rstudio rgl

在RStudio中,以下代码将在闪亮的应用程序中以及单独的RGL设备中显示3D绘图。当没有显示轴时,一切都按预期工作。

当显示轴时,当我尝试移动3D对象时,所有3D点都会在闪亮的查看器中消失(但在单独的RGL窗口中一切都很好,表明闪亮的问题)。

这种奇怪的行为只有在我通过SSH使用VNC连接在远程计算机上运行此代码时才会发生,或者只是当我通过SSH转发X11时。该代码在我的本地机器上运行良好,运行完全相同版本的R(3.4.1),Rstudio(1.1.383),RGL(0.98.22)和Shiny(1.0.4)。

是否有某种低级别(X11 / OpenGL相关?)参数我可以在RStudio / Shiny中进行调整以解决这个问题?

options(rgl.useNULL = FALSE)  # this is intentional

library(rgl)   # 0.98.22
library(shiny) # 1.0.4

app = shinyApp(
  ui = bootstrapPage(checkboxInput("axes", "axes"),
                     rglwidgetOutput("rglPlot")),
  server = function(input, output) {
    output$rglPlot <- renderRglwidget({
      try(rgl.close(), silent = TRUE)
      if (input$axes) axes3d()          
      points3d(rnorm(100),rnorm(100),rnorm(100))
      rglwidget()
    })
  }
)

enter image description here

编辑&amp; ANSWER

我发现远程机器,尽管有相同版本的R和R软件包,但没有相同版本的Linux mesa 3D library(它是一个基于AWS的Linux AMI,锁定在2017.03版)

修复是运行:

yum install mesa-libGL-devel-17.1.5-2.41.amzn1.x86_64 

0 个答案:

没有答案