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

Добавление заголовка графика: текстовое поле

В Shiny, как только пользователь изменяет значение любого элемента ввода, оно сразу становится доступным на сервере через аргумент input серверной функции. Получить значение любого элемента ввода можно с помощью input$<inputId>.

Чтобы задать начальное значение по умолчанию для текстового поля, используется аргумент value.

Это упражнение является частью курса

Примеры использования: создание веб-приложений с Shiny в R

Посмотреть курс

Инструкции к упражнению

В данном Shiny-приложении строится график зависимости ВВП на душу населения от ожидаемой продолжительности жизни для стран из набора данных gapminder. Ваша задача — добавить текстовое поле, которое позволит пользователям изменять заголовок графика. А именно:

  • Добавьте текстовое поле в UI с идентификатором "title", подписью "Title" и значением по умолчанию "GDP vs life exp".
  • В серверном коде сделайте так, чтобы заголовок графика всегда отражал текущее значение этого поля, передав его в функцию ggtitle() (строка 24).

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Load the ggplot2 package for plotting
library(ggplot2)

# Define UI for the application
ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      # Add a title text input
      ___(___, ___, ___)
    ),
    mainPanel(
      plotOutput("plot")
    )
  )
)

# Define the server logic
server <- function(input, output) {
  output$plot <- renderPlot({
    ggplot(gapminder, aes(gdpPercap, lifeExp)) +
      geom_point() +
      scale_x_log10() +
      # Use the input value as the plot's title
      ggtitle(___)
  })
}

# Run the application
shinyApp(ui = ui, server = server)
Редактировать и запускать код