我曾尝试没有成功使用下面的代码来创建切换,能够剧情显示:在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