Fliklayouter
Att visa flera tabeller och diagram på samma sida kan skapa visuell röra och distrahera användarna. I sådana fall är fliklayouten ett utmärkt alternativ, eftersom den låter olika utdata visas som separata flikar.
I den här övningen utgår vi från Shiny-appen med sidopanellayouten från föregående övning och anpassar den till att använda flikar. Övningen visar tydligt hur enkelt det är att byta layout i Shiny – det krävs bara några få ändringar i koden.
Din färdiga app bör se ut så här:

Den här övningen är en del av kursen
Bygg webbapplikationer med Shiny i R
Övningsinstruktioner
- Ändra layouten i den här appen så att namnväljaren visas i sidopanelen och att diagrammet och tabellen visas som separata flikar till höger. Glöm inte att märka flikarna!
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)