LoslegenKostenlos loslegen

Einen Plot-Titel hinzufügen: Texteingabe

In Shiny stellt dir die App, sobald der oder die Nutzer:in den Wert einer Eingabe ändert, den aktuellen Wert dieser Eingabe sofort über das Argument input der Serverfunktion zur Verfügung. Du kannst den Wert jeder Eingabe mit input$<inputId> abrufen.

Um einem Texteingabefeld einen anfänglichen Standardwert zuzuweisen, wird das Argument value verwendet.

Diese Übung ist Teil des Kurses

Fallstudien: Webanwendungen mit Shiny in R erstellen

Kurs anzeigen

Anleitung zur Übung

Die gegebene Shiny-App zeichnet das BIP pro Kopf gegen die Lebenserwartung der Länder im gapminder-Datensatz. Deine Aufgabe ist es, eine Texteingabe hinzuzufügen, mit der Nutzer:innen den Titel des Plots ändern können. Konkret:

  • Füge im UI eine Texteingabe mit der ID "title", dem Label "Title" und dem Standardwert "GDP vs life exp" hinzu.
  • Sorge im Server-Code dafür, dass der Titel des Plots immer den aktuellen Wert der Titel-Eingabe widerspiegelt, indem du den Titel in die Funktion ggtitle() setzt (Zeile 24).

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Load the ggplot2 package for plotting
library(ggplot2)

# Define UI for the application
ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      # Add a title text input
      ___(___, ___, ___)
    ),
    mainPanel(
      plotOutput("plot")
    )
  )
)

# Define the server logic
server <- function(input, output) {
  output$plot <- renderPlot({
    ggplot(gapminder, aes(gdpPercap, lifeExp)) +
      geom_point() +
      scale_x_log10() +
      # Use the input value as the plot's title
      ggtitle(___)
  })
}

# Run the application
shinyApp(ui = ui, server = server)
Code bearbeiten und ausführen