在我的shinydashboard中,我希望我的模态窗口显示49 ggplots,它们都存储在列表temp1中。我可以得到模态窗口来显示任何这样的图:
observeEvent(input$modalTrigger1,
{
temp1 <- plotList(data)
showModal(modalDialog(plotOutput("trigger1plot1")))
output$trigger1plot1 <- renderPlot(temp1[[1]])
}
)
但我想创建一个for循环,当按下modalTrigger1(一个动作按钮)时,它会输出模态窗口中的所有49个绘图。到目前为止,我这样做的尝试都失败了,所以我很感激你的帮助。
感谢。
答案 0 :(得分:0)
考虑gridExtra::grid.arrange
组合多个图表,您甚至可以指定 nrow 和 ncol 。请参阅CRAN-R docs。
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
})
})