Saltar al contenido principal
eLearner.app
Módulo 5 · Lección 2 de 210/10 en el curso~15 min
Lecciones del módulo (2/2)

Personalización y Facets

Además de definir geometrías y estéticas, ggplot2 permite personalizar completamente el aspecto visual de un gráfico añadiendo títulos, modificando los temas y realizando el "faceting" (división de los gráficos en paneles).


Títulos y Etiquetas: labs()

Para añadir un título principal, subtítulos y modificar las etiquetas de los ejes cartesianos o de la leyenda, usamos la capa labs():

Code
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  labs(
    title = "Reddito in base all'età",
    subtitle = "Dati del censimento 2026",
    x = "Età (anni)",
    y = "Reddito annuale (EUR)",
    color = "Genere"
  )

Temas Gráficos: theme_*()

ggplot2 incluye diferentes temas predefinidos que modifican el fondo, las cuadrículas y la tipografía del gráfico. Algunos de los más utilizados son:

  • theme_gray() (el tema por defecto con fondo gris).
  • theme_minimal() (fondo blanco y cuadrícula muy fina).
  • theme_classic() (estilo limpio, sin líneas de cuadrícula internas).
Code
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  theme_minimal()  # Aplica un diseño moderno y limpio

Dividir el Gráfico en Paneles: facet_wrap()

El faceting permite dividir un solo gráfico en múltiples gráficos secundarios (paneles) colocados uno al lado del otro, basándose en el valor de una variable categórica.

La función principal es facet_wrap() y utiliza la notación de fórmula de R (~ nombre_variabile):

Code
# Crea un gráfico separado para cada departamento
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  facet_wrap(~ department)

Pruébalo tú

Ejercicio 1: Agrega títulos y ejes

Ejercicio#r.m5.l2.e1
Intentos: 0Cargando...

Dado el gráfico de dispersión, agrega la capa labs() estableciendo el título (title) en 'Title', la etiqueta del eje x en 'Age' y la etiqueta del eje y en 'Income'.

Cargando editor...
Mostrar pista

Usa labs(title = 'Title', x = 'Age', y = 'Income') concatenándolo con el '+'.

Solución disponible después de 3 intentos

Ejercicio 2: Aplica un tema limpio

Ejercicio#r.m5.l2.e2
Intentos: 0Cargando...

Aplica el tema gráfico theme_minimal() al gráfico de dispersión de abajo para mejorar su estética visual.

Cargando editor...
Mostrar pista

Usa el signo '+' y agrega la función theme_minimal().

Solución disponible después de 3 intentos

Ejercicio 3: Divide el gráfico con facet_wrap

Ejercicio#r.m5.l2.e3
Intentos: 0Cargando...

Usa la función facet_wrap() para dividir el gráfico de dispersión en diferentes paneles basándote en la columna department.

Cargando editor...
Mostrar pista

Usa facet_wrap(~ department) para dividir el gráfico.

Solución disponible después de 3 intentos

Ejercicio 4: Invierte los ejes coordenados

Ejercicio#r.m5.l2.e4
Intentos: 0Cargando...

Para hacer legible un gráfico de columnas con muchas categorías, puedes invertir los ejes x e y. Agrega la capa coord_flip() al gráfico de barras.

Cargando editor...
Mostrar pista

Usa coord_flip() enlazándolo al pipeline de ggplot con '+'.

Solución disponible después de 3 intentos

Ejercicio 5: Gráfico completo listo para publicación

Ejercicio#r.m5.l2.e5
Intentos: 0Cargando...

Crea un gráfico completo sobre df: mapea age en x, income en y y color en gender dentro de geom_point(). Divide el gráfico con facet_wrap() por department, agrega labs() con el título 'Salary by Age' y finalmente aplica theme_minimal().

Cargando editor...
Mostrar pista

Une todas las capas usando '+': ggplot(...) + geom_point() + facet_wrap(~ department) + labs(title = 'Salary by Age') + theme_minimal()

Solución disponible después de 3 intentos