Układy z zakładkami
Wyświetlanie wielu tabel i wykresów na tej samej stronie może prowadzić do wizualnego bałaganu i rozpraszać użytkowników aplikacji. W takich przypadkach przydaje się układ z zakładkami – pozwala on na prezentowanie różnych wyników w osobnych kartach.
W tym ćwiczeniu zaczniemy od aplikacji Shiny z układem bocznego panelu z poprzedniego ćwiczenia i zmodyfikujemy ją tak, aby korzystała z zakładek. To ćwiczenie pokaże też wyraźnie, jak łatwo w Shiny można zmieniać układ aplikacji – wystarczy kilka drobnych modyfikacji kodu.
Gotowa aplikacja powinna wyglądać tak:

To ćwiczenie jest częścią kursu
Tworzenie aplikacji internetowych z Shiny w R
Instrukcje do ćwiczenia
- Zmodyfikuj układ aplikacji tak, aby selektor imion znajdował się w panelu bocznym, a wykres i tabela były wyświetlane jako osobne zakładki po prawej stronie. Nie zapomnij dodać etykiet do zakładek!
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)