시작하기무료로 시작하기

테마

Shiny는 앱의 테마를 쉽게 사용자 지정할 수 있게 해줘요. Shiny의 UI 함수는 웹 애플리케이션을 만들 때 널리 쓰이는 Twitter Bootstrap을 사용합니다. Bootswatch는 최소한의 코드 변경만으로도 애플리케이션의 스킨을 손쉽게 바꿀 수 있도록 Bootstrap을 확장한 것입니다.

이번 연습에서는 앱에 제목 패널을 추가하고, 테마 선택기를 사용해 다양한 테마를 살펴본 뒤, 원하는 테마를 적용해 보겠습니다.

이 연습은 강의의 일부입니다

R로 Shiny 웹 애플리케이션 만들기

강의 보기

연습 안내

  • 앱을 실행한 후 오른쪽 상단의 테마 선택기를 사용해 다양한 Bootswatch 테마를 탐색하세요.
  • 페이지에 알맞은 제목을 추가하세요.
  • themeSelector()를 원하는 테마로 교체하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

ui <- fluidPage(
  # CODE BELOW: Add a titlePanel with an appropriate title
  
  # REPLACE CODE BELOW: with theme = shinythemes::shinytheme("")
  shinythemes::themeSelector(),
  sidebarLayout(
    sidebarPanel(
      selectInput('name', 'Select Name', top_trendy_names$name)
    ),
    mainPanel(
      tabsetPanel(
        tabPanel('Plot', plotly::plotlyOutput('plot_trendy_names')),
        tabPanel('Table', 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)
코드 편집 및 실행