Aan de slagBegin gratis

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

Bekijk cursus

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)
Code bewerken en uitvoeren