Layouter och teman

Bygg webbapplikationer med Shiny i R

Kaelen Medeiros

Data Scientist

Standard Shiny-applayout

ui <- fluidPage(
  titlePanel("Histogram"),
  sliderInput('nb_bins', '# Bins', 5, 10, 5),
  plotOutput('hist')
)
server <- function(input, output, session){
  output$hist <- renderPlot({
    hist(faithful$waiting, 
         breaks = input$nb_bins, 
         col = 'steelblue')
  })
}
shinyApp(ui = ui, server = server)

En app som visar ett histogram över väntetider tillsammans med ett skjutreglage för att styra antalet intervall

Bygg webbapplikationer med Shiny i R

Sidopanelslayout

ui <- fluidPage(
  titlePanel("Histogram"),
  sidebarLayout(
    sidebarPanel(sliderInput('nb_bins', 
                             '# Bins', 5, 10, 5)),
    mainPanel(plotOutput('hist'))
  )
)
server <- function(input, output, session){
  output$hist <- renderPlot({
    hist(faithful$waiting, breaks = input$nb_bins, 
         col = 'steelblue')
  })
}
shinyApp(ui = ui, server = server)

En app som visar ett histogram över väntetider till höger och ett skjutreglage för att styra antalet intervall till vänster

Bygg webbapplikationer med Shiny i R

Fliklayout

En app som visar ett histogram över väntetider till höger och ett skjutreglage för att styra antalet intervall till vänster

En app som visar ett histogram över väntetider till höger och ett skjutreglage för att styra antalet intervall till vänster, med två flikar

Bygg webbapplikationer med Shiny i R

Fliklayout

ui <- fluidPage(
  titlePanel("Histogram"),
  sidebarLayout(
    sidebarPanel(sliderInput('nb_bins', '# Bins', 
                             5, 10, 5)),
    mainPanel(

tabsetPanel( tabPanel('Waiting', plotOutput('hist_waiting')), tabPanel('Eruptions', plotOutput('hist_eruptions')) )
) ) )
server <- function(input, output, session){
  output$hist_waiting <- renderPlot({
    hist(faithful$waiting, 
         breaks = input$nb_bins, 
         col = 'steelblue')
  })
  output$hist_eruptions <- renderPlot({
    hist(faithful$eruptions, 
         breaks = input$nb_bins, 
         col = 'steelblue')
  })
}
shinyApp(ui = ui, server = server)
Bygg webbapplikationer med Shiny i R

Temaväljare

ui <- fluidPage(
  titlePanel("Histogram"),

shinythemes::themeSelector(),
sidebarLayout( sidebarPanel(sliderInput('nb_bins', '# Bins', 5, 10, 5)), mainPanel(plotOutput('hist')) ) ) server <- function(input, output, session){ output$hist <- renderPlot({ hist(faithful$waiting, breaks = input$nb_bins, col = 'steelblue') }) } shinyApp(ui = ui, server = server)

En app som visar ett histogram över väntetider till höger och ett skjutreglage för att styra antalet intervall, samt en flytande temaväljare

Bygg webbapplikationer med Shiny i R

Lägga till ett tema

ui <- fluidPage(
  titlePanel("Histogram"),

theme = shinythemes::shinytheme('superhero'),
sidebarLayout( sidebarPanel(sliderInput('nb_bins', '# Bins', 5, 10, 5)), mainPanel(plotOutput('hist')) ) ) server <- function(input, output, session){ output$hist <- renderPlot({ hist(faithful$waiting, breaks = input$nb_bins, col = 'steelblue') }) } shinyApp(ui = ui, server = server)

En app som visar ett histogram över väntetider till höger och ett skjutreglage för att styra antalet intervall till vänster

Bygg webbapplikationer med Shiny i R

Nu kör vi en övning!

Bygg webbapplikationer med Shiny i R

Preparing Video For Download...