Изменение размера точек: числовой ввод
Числовые поля ввода поддерживают несколько дополнительных аргументов, которых нет у текстовых, — например, min и max, задающие минимальное и максимальное допустимые значения.
Обратите внимание: когда значение поля ввода используется в серверном коде, Shiny автоматически определяет тип этого поля и возвращает данные соответствующего типа. Это означает, что если у вас есть числовое поле ввода с идентификатором "foo", то input$foo вернёт числовое значение.
Это упражнение является частью курса
Примеры использования: создание веб-приложений с Shiny в R
Инструкции к упражнению
Код приложения Shiny из предыдущего упражнения уже подготовлен. Ваша задача — добавить числовое поле ввода, с помощью которого пользователь сможет изменять размер точек на графике. А именно:
- Добавьте в UI числовое поле ввода с идентификатором "size", подписью "Point size", значением по умолчанию 1 и минимальным значением 1.
- Добавьте в серверный код логику, чтобы числовое поле ввода управляло размером точек на графике (строка 20).
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)