IniziaInizia gratis

Aggiungi un titolo al grafico: input di testo

In Shiny, non appena l'utente modifica il valore di un qualsiasi input, Shiny rende subito disponibile il valore corrente di quell'input nel server tramite l'argomento input della funzione server. Puoi recuperare il valore di qualsiasi input usando input$<inputId>.

Per assegnare un valore iniziale predefinito a un input di testo, si usa l'argomento value.

Questo esercizio fa parte del corso

Casi di studio: creare applicazioni web con Shiny in R

Visualizza il corso

Istruzioni dell'esercizio

La Shiny app fornita traccia il PIL pro capite vs l'aspettativa di vita dei Paesi nel dataset gapminder. Il tuo compito è aggiungere un input di testo che permetta agli utenti di cambiare il titolo del grafico. In particolare:

  • Aggiungi alla UI un input di testo con ID "title", etichetta "Title" e valore predefinito "GDP vs life exp".
  • Nel codice del server, fai in modo che il titolo del grafico rifletta sempre il valore corrente dell'input title inserendo il titolo dentro la funzione ggtitle() (riga 24).

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice