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