4 Lesson 3
How to customize appearance
4.1 Practice Problem #1
4.1.1 Question
#L03_Script01_PPQuestion01
library(shiny)
<- fluidPage(
ui sliderInput(inputId = "num",
label = "Choose a number",
value = 25, min = 1, max = 100)
textInput(inputId = "title",
,label = "Write a title",
value = "Histogram of Random Normal Values")
plotOutput("hist")
,
)<- function(input, output) {
server $hist <- renderPlot({
outputhist(rnorm(input$num), main = input$title)
})
}shinyApp(ui = ui, server = server)
4.1.2 Solution
#L03_Script02_PPSolution01
library(shiny)
library(bslib)
library(thematic)
thematic_shiny(font = "auto")
<- fluidPage(theme = bs_theme(
ui bg = "#045c7c",
fg = "#ffe2a9",
primary = "#a4c37b")
sliderInput(inputId = "num",
,label = "Choose a number",
value = 25, min = 1, max = 100)
textInput(inputId = "title",
,label = "Write a title",
value = "Histogram of Random Normal Values")
plotOutput("hist")
,
)
<- function(input, output) {
server $hist <- renderPlot({
outputhist(rnorm(input$num), main = input$title)
})
}
shinyApp(ui = ui, server = server)
4.2 Practice Problem #2
4.2.1 Solution
#L03_Script03_PPSolution02
library(shiny)
library(bslib)
library(thematic)
thematic_shiny(font = "auto")
<- fluidPage(theme = bs_theme(
ui bg = "#045c7c",
fg = "#ffe2a9",
primary = "#a4c37b") # End ~ bs_theme
sidebarLayout(
, sidebarPanel(
sliderInput(inputId = "num",
label = "Choose a number",
value = 25, min = 1, max = 100)
textInput(inputId = "title",
,label = "Write a title",
value = "Histogram of Random Normal Values")
# End ~ sidebarPanel
) mainPanel(
, plotOutput("hist")
# End ~ mainPanel
) # End ~ sidebarLayout
) # End ~ fluidPage
)
<- function(input, output) {
server $hist <- renderPlot({
outputhist(rnorm(input$num), main = input$title)
})
}
shinyApp(ui = ui, server = server)