开始使用免费开始使用

主题

Shiny 让自定义应用的主题变得非常简单。Shiny 的 UI 函数基于 Twitter Bootstrap,这是一套常用的 Web 应用开发框架。Bootswatch 扩展了 Bootstrap,使您几乎不用改动代码就能快速更换应用外观。

在本练习中,您将为应用添加标题面板,使用主题选择器探索不同主题,并应用一个您喜欢的主题。

本练习是课程的一部分

使用 R 构建 Shiny Web 应用

查看课程

练习说明

  • 运行应用,在右上角使用主题选择器,探索不同的 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)
编辑并运行代码