BaşlayınÜcretsiz Başlayın

Sekme düzenleri

Aynı sayfada birden çok tablo ve grafiği göstermek görsel karmaşaya yol açabilir ve uygulamanın kullanıcılarını dağıtabilir. Böyle durumlarda sekme düzeni çok işine yarar; çünkü farklı çıktıları sekmeler halinde göstermene olanak tanır.

Bu egzersizde, önceki egzersizdeki kenar çubuğu düzenini kullanan Shiny uygulamasıyla başlayıp onu sekmeleri kullanacak şekilde değiştireceğiz. Bu egzersiz, Shiny'nin yalnızca birkaç küçük kod değişikliğiyle uygulama düzenleri arasında geçiş yapmayı ne kadar kolaylaştırdığını da çok net gösterecek.

Son uygulaman şuna görsel olarak benzeyecek:

Ad seçicisinin soldaki kenar çubuğunda, grafiğin ve tablonun ise sağdaki ana panelde sekmeler olarak göründüğü bir uygulama

Bu egzersiz

R ile Shiny Kullanarak Web Uygulamaları Geliştirme

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Bu uygulamanın düzenini değiştirerek ad seçicisinin kenar çubuğunda, grafiğin ve tablonun ise sağda ayrı sekmeler olarak görünmesini sağla. Sekmeleri etiketlemeyi unutma!

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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)
Kodu Düzenle ve Çalıştır