IniziaInizia gratis

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

Visualizza il corso

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)
Modifica ed esegui il codice