Füge deinem Plot Farben hinzu: Optionsfelder
Optionsfelder kommen zum Einsatz, wenn du Nutzerinnen und Nutzern mehrere Optionen anbieten und genau eine Auswahl erzwingen möchtest. Sie haben einen Parameter choices, der die verschiedenen auswählbaren Optionen definiert, und ein Argument selected, das festlegt, welche Option anfangs ausgewählt ist. Beachte, dass es keinen Parameter value gibt – du kannst selected jedoch als ähnlich gelagert betrachten.
Diese Übung ist Teil des Kurses
Fallstudien: Webanwendungen mit Shiny in R erstellen
Anleitung zur Übung
Der Code der Shiny-App aus der letzten Übung ist vorgegeben. Deine Aufgabe ist es, Optionsfelder hinzuzufügen, mit denen die Nutzerin bzw. der Nutzer die Farbe für den Plot auswählen kann. Konkret:
- Füge in der UI Optionsfelder mit der ID "color", dem Label "Point color" und vier Auswahlmöglichkeiten hinzu: "blue", "red", "green", "black".
- Ergänze Code im Server, sodass die Punkte im Plot die Farbe annehmen, die in den Optionsfeldern ausgewählt wird (Zeile 22).
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)