Ajouter un titre au graphique : champ texte
Dans Shiny, dès que l’utilisateur modifie la valeur d’une entrée, Shiny met immédiatement à votre disposition la valeur actuelle de cette entrée 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 définir une valeur initiale par défaut pour un champ texte, utilisez l’argument value.
Cet exercice fait partie du cours
Études de cas : créer des applications web avec Shiny en R
Instructions
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 objectif est d’ajouter un champ texte permettant aux utilisateurs de modifier le titre du graphique. Plus précisément :
- Ajoutez dans l’UI un champ texte avec l’ID "title", le libellé "Title" et la valeur par défaut "GDP vs life exp".
- Dans le code serveur, faites en sorte que le titre du graphique reflète toujours la valeur actuelle de cette entrée en plaçant le titre dans la fonction
ggtitle()(ligne 24).
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)