LoslegenKostenlos loslegen

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

Kurs anzeigen

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)
Code bearbeiten und ausführen