EmpezarEmpieza gratis

Optimizar el gráfico para dispositivos móviles

El título del eje x ya es bastante innecesario porque has añadido etiquetas para ambos años. Ahora vas a añadir etiquetas de países al gráfico, de modo que se puedan quitar todos los ejes.

En este ejercicio te vas a encontrar con algo que probablemente sea nuevo para ti: se pueden proporcionar nuevos conjuntos de datos a geometrías individuales como geom_text(), de forma que esas geometrías no usen el conjunto de datos de la llamada inicial a ggplot(). Aquí vas a necesitarlo porque solo quieres añadir una etiqueta a cada flecha. Si usaras el conjunto de datos original ilo_data, se añadirían dos etiquetas porque hay dos observaciones por país en el conjunto de datos, una para 1996 y otra para 2006.

Este ejercicio forma parte del curso

Comunicar con datos en el Tidyverse

Ver curso

Instrucciones del ejercicio

  • Se ha creado un nuevo conjunto de datos, median_working_hours, para que solo haya una etiqueta por país. Examina su estructura con str().
  • Usa median_working_hours como argumento data en una nueva llamada a geom_text() para añadir etiquetas para cada país.
    • Especifica correctamente las estéticas requeridas para geom_text(): x y label, que deben apuntar a la variable adecuada en el conjunto de datos median_working_hours.
  • Elimina todos los ejes y la cuadrícula de fondo indicando la función element_blank() para todos los argumentos axis. y panel.grid en la llamada personalizada a theme().
  • Después de ejecutar el código final, redimensiona la ventana del gráfico a la derecha para simular la pantalla de un dispositivo móvil en modo vertical (estrecha y alta): todas las etiquetas se ajustarán al área de visualización del gráfico.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Compute temporary data set for optimal label placement
median_working_hours <- ilo_data %>%
  group_by(country) %>%
  summarize(median_working_hours_per_country = median(working_hours)) %>%
  ungroup()

# Have a look at the structure of this data set
___

ilo_dot_plot +
  # Add label for country
  geom_text(data = ___,
            aes(y = country,
                x = ___,
                label = ___),
            vjust = 2,
            family = "Bookman",
            color = "gray25") +
  # Remove axes and grids
  theme(
    axis.ticks = ___,
    axis.title = ___,
    axis.text = ___,
    panel.grid = ___,
    # Also, let's reduce the font size of the subtitle
    plot.subtitle = element_text(size = 9)
  )
Editar y ejecutar código