此问题是对How can put multiple plots side-by-side in shiny r?和R Shiny layout - side by side chart and/or table within a tab的跟进。
除了我要并排嵌入的两个图之外还有其他输出时,是否可以在标签面板中嵌入两个并排图?我已经尝试了前两个问题的答案中提供的每一个建议,但没有任何效果。无论我尝试什么,我最终都会破坏我的程序,所以它拒绝显示任何输出。
mainPanel(
width = 10,
tabsetPanel(
tabPanel("Dashboard", textOutput("text30"), textOutput("text31"), textOutput("text28"), textOutput("text29"),
column(6, plotOutput("plot1st"), column(6, plotOutput("plot2nd")), #what do I put here to make this work?
plotOutput("plot3rd"), plotOutput("plot9th"), plotOutput("plot4th"), plotOutput("plot8th"), plotOutput("plot7th"), plotOutput("plot6th")),
tabPanel("Graph Switcher", plotOutput("selected_graph"))
))))
我能做些什么让这项工作成功吗?
更新:感谢Florian的回答,我能够让应用程序看起来像我想要的那样。但是,如下面的屏幕截图所示,图表之间会出现一个小数字12,并且图表不是完全水平对齐的。我想知道是否有可能解决这个问题?
答案 0 :(得分:1)
您可以将多个column
元素放在一个fluidRow
中:
希望这有帮助!
library(shiny)
ui <- fluidPage(
tabsetPanel(
tabPanel("Dashboard",
fluidRow(12,
column(6,plotOutput('plot1')),
column(6,plotOutput('plot2'))
),
fluidRow(12,
column(4,plotOutput('plot3')),
column(4,plotOutput('plot4')),
column(4,plotOutput('plot5'))
),
fluidRow(12,
column(3,plotOutput('plot6')),
column(3,plotOutput('plot7')),
column(3,plotOutput('plot8')),
column(3,plotOutput('plot9'))
)
)))
server <- function(input,output)
{
lapply(seq(10),function(x)
{
output[[paste0('plot',x)]] = renderPlot({hist(runif(1:20))})
})
}
shinyApp(ui,server)