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
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 constr(). - Usa
median_working_hourscomo argumentodataen una nueva llamada ageom_text()para añadir etiquetas para cada país.- Especifica correctamente las estéticas requeridas para
geom_text():xylabel, que deben apuntar a la variable adecuada en el conjunto de datosmedian_working_hours.
- Especifica correctamente las estéticas requeridas para
- Elimina todos los ejes y la cuadrícula de fondo indicando la función
element_blank()para todos los argumentosaxis.ypanel.griden la llamada personalizada atheme(). - 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)
)