在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()
})
}
)
编辑&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