Modifica la dimensione dei punti: input numerico
Gli input numerici hanno alcuni argomenti in più rispetto agli input testuali, come min e max, che definiscono i valori minimo e massimo selezionabili.
Nota che quando il valore di un input viene letto nel codice del server, Shiny capisce automaticamente che tipo di input è stato usato e quindi che tipo di oggetto deve restituire. Questo significa che, se hai un input numerico con ID "foo", allora input$foo restituirà un valore numerico.
Questo esercizio fa parte del corso
Casi di studio: creare applicazioni web con Shiny in R
Istruzioni dell'esercizio
Il codice della Shiny app dell'esercizio precedente è fornito. Il tuo compito è aggiungere un input numerico che l'utente possa usare per cambiare la dimensione dei punti nel grafico. In particolare:
- Aggiungi alla UI un input numerico con ID "size", etichetta "Point size", valore predefinito 1 e valore minimo 1.
- Aggiungi il codice al server in modo che l'input numerico determini la dimensione dei punti nel grafico (riga 20).
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)