在我的闪亮仪表板中,我希望我的模态窗口显示 49 个 ggplot,它们都存储在列表 temp1 中。我可以让模态窗口显示任何图,如下所示:
observeEvent(input$modalTrigger1,
{
temp1 <- plotList(data)
showModal(modalDialog(plotOutput("trigger1plot1")))
output$trigger1plot1 <- renderPlot(temp1[[1]])
}
)
但是我想创建一个 for 循环,当按下 modalTrigger1(操作按钮(时,它将输出模态窗口中的所有 49 个图。到目前为止,我这样做的尝试都失败了,所以我将不胜感激。
谢谢。
考虑gridExtra::grid.arrange
组合多个图,您甚至可以在其中指定 nrow 和 ncol。请参阅 CRAN-R 文档。
library(gridExtra)
...
observeEvent(input$modalTrigger1,
{
temp1 <- plotList(data)
showModal(modalDialog(plotOutput("trigger1plot1")))
output$trigger1plot1 <- renderPlot({
do.call(grid.arrange, temp1
# grid.arrange(grobs = temp1) -- ALTERNATIVE W/ gridExtra v>=2.0.0
# do.call(grid.arrange, c(temp1, ncol=7, nrow=7)) -- WITH ROWS/COLS
})
})