我曾嘗試沒有成功使用下面的代碼來創建切換,能夠劇情顯示:在RGL使用toggleWidget閃亮
library(shiny)
library(rgl)
ui <- (fluidPage(
checkboxInput("chk", label = "Display", value = TRUE),
playwidgetOutput("control"),
rglwidgetOutput("wdg")
))
server <- function(input, output, session) {
options(rgl.useNULL = TRUE)
save <- options(rgl.inShiny = TRUE)
on.exit(options(save))
open3d()
plot3d(rnorm(100), rnorm(100), rnorm(100))
scene <- scene3d()
rgl.close()
plot3d(scene)
output$wdg <- renderRglwidget({
rglwidget(controllers = c("control"))
})
output$control <- renderPlaywidget({
toggleWidget("wdg", respondTo = "chk",
ids = as.integer(names(scene$objects[1])))
})
}
shinyApp(ui = ui, server = server)
在當前的代碼設置,我得到以下錯誤:
Error: length(buttonLabels) == length(components) is not TRUE
從我可以告訴的方式toggleWidget
包裝playwidget
,不過,好像都buttonLabels
和components
與1.
我也嘗試了ids
變量toggleWidget
的一些不同的變化,其成功水平相似。 Shiny中的rgl
的例子似乎很少。
在Shiny中使用rgl
中的toggleWidget
的正確方法是什麼?
你不應該把'toggleWidget'放在'renderPlaywidget'裏面。後者旨在保存「playWidget」,而不是其他任何東西。然而,我不知道Shiny是否足夠知道你應該做什麼。你會如何包含HTML代碼? – user2554330
我想我以前的評論是錯誤的,對不起!不知道問題是什麼。 – user2554330