Lay-outs en thema’s

Webapplicaties bouwen met Shiny in R

Kaelen Medeiros

Data Scientist

Standaard lay-out van een Shiny-app

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)

Een app met een histogram van wachttijden en een slider om het aantal bins te bepalen

Webapplicaties bouwen met Shiny in R

Zijbalklay-out

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)

Een app met rechts een histogram van wachttijden en links een slider voor het aantal bins

Webapplicaties bouwen met Shiny in R

Tablay-out

Een app met rechts een histogram van wachttijden en links een slider voor het aantal bins

Een app met rechts een histogram van wachttijden en links een slider voor het aantal bins, met twee tabs

Webapplicaties bouwen met Shiny in R

Tablay-out

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)
Webapplicaties bouwen met Shiny in R

Themakiezer

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)

Een app met rechts een histogram van wachttijden en links een slider voor het aantal bins, plus een zwevende themakiezer

Webapplicaties bouwen met Shiny in R

Een thema toevoegen

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)

Een app met rechts een histogram van wachttijden en links een slider voor het aantal bins

Webapplicaties bouwen met Shiny in R

Laten we oefenen!

Webapplicaties bouwen met Shiny in R

Preparing Video For Download...