테마
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)