Modifier la taille des points : saisie numérique
Les champs numériques disposent de quelques arguments supplémentaires par rapport aux champs texte, comme min et max, qui définissent les nombres minimum et maximum pouvant être sélectionnés.
Notez que lorsque la valeur d’une entrée est récupérée dans le code du serveur, Shiny détecte le type de l’entrée et sait donc quel type d’objet retourner. Ainsi, si vous avez une entrée numérique avec l’ID « foo », alors input$foo retournera une valeur numérique.
Cet exercice fait partie du cours
Études de cas : créer des applications web avec Shiny en R
Instructions
Le code de l’application Shiny de l’exercice précédent est fourni. Votre tâche consiste à ajouter une saisie numérique permettant à l’utilisateur de modifier la taille des points sur le graphique. Plus précisément :
- Ajoutez à l’UI une saisie numérique avec l’ID « size », l’étiquette « Point size », une valeur par défaut de 1 et une valeur minimale de 1.
- Ajoutez du code dans le serveur pour que cette saisie numérique définisse la taille des points dans le graphique (ligne 20).
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Define UI for the application
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textInput("title", "Title", "GDP vs life exp"),
# Add a size numeric input
___
),
mainPanel(
plotOutput("plot")
)
)
)
# Define the server logic
server <- function(input, output) {
output$plot <- renderPlot({
ggplot(gapminder, aes(gdpPercap, lifeExp)) +
# Use the size input as the plot point size
geom_point(size = ___) +
scale_x_log10() +
ggtitle(input$title)
})
}
# Run the application
shinyApp(ui = ui, server = server)