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
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)