Ajouter un titre au graphique : champ de texte
Dans Shiny, dès que l'utilisateur ou l'utilisatrice modifie la valeur d'une entrée, Shiny rend immédiatement la valeur courante de cette entrée disponible dans le serveur via l'argument input de la fonction server. Vous pouvez récupérer la valeur de n'importe quelle entrée avec input$<inputId>.
Pour attribuer une valeur initiale par défaut à un champ de texte, on utilise l'argument value.
Cette activité fait partie du cours
Études de cas : créer des applications Web avec Shiny en R
Instructions de l’exercice
L'application Shiny fournie trace le PIB par habitant en fonction de l'espérance de vie des pays du jeu de données gapminder. Votre tâche consiste à ajouter un champ de texte permettant aux utilisateurs et utilisatrices de modifier le titre du graphique. Plus précisément :
- Ajoutez à l'interface un champ de texte ayant l'ID « title », une étiquette « Title » et une valeur par défaut « GDP vs life exp ».
- Dans le code du serveur, faites en sorte que le titre du graphique reflète toujours la valeur actuelle du champ title en plaçant le titre dans la fonction
ggtitle()(ligne 24).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)