НачатьНачать бесплатно

Изменение размера точек: числовой ввод

Числовые поля ввода поддерживают несколько дополнительных аргументов, которых нет у текстовых, — например, 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)
Редактировать и запускать код