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
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)