Voeg een plottitel toe: tekstinvoer
In Shiny wordt, zodra de gebruiker de waarde van een input wijzigt, de huidige waarde daarvan direct beschikbaar in de server via het input-argument van de serverfunctie. Je kunt de waarde van elke input ophalen met input$<inputId>.
Om een standaard beginwaarde toe te kennen aan een tekstinvoer, gebruik je het argument value.
Deze oefening maakt deel uit van de cursus
Casestudies: webapplicaties bouwen met Shiny in R
Oefeninstructies
De gegeven Shiny-app plot het bbp per hoofd van de bevolking tegenover de levensverwachting van landen in de gapminder-gegevensset. Je taak is om een tekstinvoer toe te voegen waarmee gebruikers de titel van de plot kunnen aanpassen. Specifiek:
- Voeg in de UI een tekstinvoer toe met ID "title", het label "Title" en standaardwaarde "GDP vs life exp".
- Laat in de servercode de titel van de plot altijd de huidige waarde van de titelinput weerspiegelen door de titel in de functie
ggtitle()te plaatsen (regel 24).
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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)