Voeg kleuren toe aan je plot: keuzerondjes
Keuzerondjes gebruik je wanneer je de gebruiker meerdere opties wilt geven en hem of haar één keuze wilt laten maken. Ze hebben een parameter choices die de verschillende opties definieert waaruit de gebruiker kan kiezen, en een argument selected dat bepaalt welke keuze in eerste instantie is geselecteerd. Let op: er is geen parameter value, al kun je selected zien als iets met een vergelijkbare functie.
Deze oefening maakt deel uit van de cursus
Casestudies: webapplicaties bouwen met Shiny in R
Oefeninstructies
De code voor de Shiny-app uit de vorige oefening is aanwezig. Jouw taak is om keuzerondjes toe te voegen waarmee de gebruiker een kleur voor de plot kan kiezen. Concreet:
- Voeg keuzerondjes toe aan de UI met ID "color", het label "Point color", en vier opties: "blue", "red", "green", "black".
- Voeg code toe aan de server zodat de punten in de plot de kleur krijgen die in de keuzerondjes is geselecteerd (regel 22).
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# Define UI for the application
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textInput("title", "Title", "GDP vs life exp"),
numericInput("size", "Point size", 1, 1),
checkboxInput("fit", "Add line of best fit", FALSE),
# Add radio buttons for colour
___("color", ___, ___)
),
mainPanel(
plotOutput("plot")
)
)
)
# Define the server logic
server <- function(input, output) {
output$plot <- renderPlot({
p <- ggplot(gapminder, aes(gdpPercap, lifeExp)) +
# Use the value of the color input as the point colour
geom_point(size = input$size, col = input$___) +
scale_x_log10() +
ggtitle(input$title)
if (input$fit) {
p <- p + geom_smooth(method = "lm")
}
p
})
}
# Run the application
shinyApp(ui = ui, server = server)