ComenzarEmpieza gratis

Añade un título al gráfico: entrada de texto

En Shiny, en cuanto el usuario cambia el valor de cualquier entrada, Shiny pone el valor actual de esa entrada a tu disposición en el servidor mediante el argumento input de la función del servidor. Puedes recuperar el valor de cualquier entrada usando input$<inputId>.

Para asignar un valor inicial por defecto a una entrada de texto, se usa el argumento value.

Este ejercicio forma parte del curso

Casos prácticos: crea aplicaciones web con Shiny en R

Ver curso

Instrucciones del ejercicio

La app de Shiny dada representa el PIB per cápita frente a la esperanza de vida de los países del conjunto de datos gapminder. Tu tarea es añadir una entrada de texto que permita a los usuarios cambiar el título del gráfico. En concreto:

  • Añade en la UI una entrada de texto con ID "title", etiqueta "Title" y valor por defecto "GDP vs life exp".
  • En el código del servidor, haz que el título del gráfico siempre refleje el valor actual de la entrada de título colocando el título dentro de la función ggtitle() (línea 24).

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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)
Editar y ejecutar código