Rozložení se záložkami
Zobrazování většího množství tabulek a grafů na jedné stránce může působit chaoticky a rozptylovat uživatele aplikace. V takových případech se hodí rozložení se záložkami, které umožňuje zobrazit různé výstupy jako samostatné záložky.
V tomto cvičení vezmeš Shiny aplikaci s postranním panelem z předchozího cvičení a upravíš ji tak, aby používala záložky. Toto cvičení ti také názorně ukáže, jak snadno lze v Shiny přepínat mezi různými rozloženími pomocí jen pár úprav v kódu.
Výsledná aplikace by měla vypadat takto:

Toto cvičení je součástí kurzu
Tvorba webových aplikací se Shiny v R
Pokyny k cvičení
- Uprav rozložení aplikace tak, aby se výběr jména zobrazoval v postranním panelu a graf s tabulkou jako samostatné záložky na pravé straně. Nezapomeň záložky pojmenovat!
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
selectInput('name', 'Select Name', top_trendy_names$name)
),
mainPanel(
# MODIFY CODE BLOCK BELOW: Wrap in a tabsetPanel
# MODIFY CODE BELOW: Wrap in a tabPanel providing an appropriate label
plotly::plotlyOutput('plot_trendy_names'),
# MODIFY CODE BELOW: Wrap in a tabPanel providing an appropriate label
DT::DTOutput('table_trendy_names')
)
)
)
server <- function(input, output, session){
# Function to plot trends in a name
plot_trends <- function(){
babynames %>%
filter(name == input$name) %>%
ggplot(aes(x = year, y = n)) +
geom_col()
}
output$plot_trendy_names <- plotly::renderPlotly({
plot_trends()
})
output$table_trendy_names <- DT::renderDT({
babynames %>%
filter(name == input$name)
})
}
shinyApp(ui = ui, server = server)