Modifică dimensiunea punctelor: input numeric
Inputurile numerice au câteva argumente în plus față de inputurile de tip text, cum ar fi min și max, care definesc valorile minimă și maximă ce pot fi selectate.
Reține că atunci când valoarea unui input este accesată în codul serverului, Shiny știe automat ce tip de input a fost folosit și, implicit, ce tip de obiect trebuie să returneze. Astfel, dacă ai un input numeric cu ID-ul "foo", atunci input$foo va returna o valoare numerică.
Acest exercițiu face parte din cursul
Studii de caz: Construirea aplicațiilor web cu Shiny în R
Instrucțiuni pentru exercițiu
Codul aplicației Shiny din exercițiul anterior îți este pus la dispoziție. Sarcina ta este să adaugi un input numeric pe care utilizatorul să îl poată folosi pentru a modifica dimensiunea punctelor din grafic. Mai exact:
- Adaugă un input numeric în UI cu ID-ul "size", eticheta "Point size", o valoare implicită de 1 și o valoare minimă de 1.
- Adaugă cod în server astfel încât inputul numeric să determine dimensiunea punctelor în grafic (linia 20).
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)