Además de modificar las estéticas de los datos, como color, shape, size o alpha, también podemos modificar la apariencia general de la gráfica. Para eso usamos los temas.
Un tema controla elementos visuales que no dependen directamente de los datos, por ejemplo:
el color del fondo,
la cuadrícula,
los ejes,
el tamaño y estilo de la letra,
la posición de la leyenda,
los márgenes.
Primero guardamos una gráfica base.
Código
library(ggplot2)p <-ggplot(data = penguins,aes(x = bill_len,y = bill_dep,color = species )) +geom_point(size =2, alpha =0.7) +labs(title ="Relación entre longitud y profundidad del pico",x ="Longitud del pico (mm)",y ="Profundidad del pico (mm)",color ="Especie" )
22.1 Temas predefinidos
ggplot2 tiene varios temas predefinidos. Todos contienen la misma información, pero cambia la presentación visual.
Código
p +theme_gray()
Código
p +theme_light()
Código
p +theme_dark()
Código
p +theme_minimal()
Código
p +theme_void()
Código
p +theme_test()
Por ejemplo, theme_gray() es el tema por defecto de ggplot2, mientras que theme_minimal() elimina varios elementos visuales para dejar una gráfica más limpia. En cambio, theme_void() elimina casi todos los elementos del fondo, incluyendo ejes y cuadrícula.
NotaNota
Los temas no cambian los datos ni la relación entre variables. Sólo modifican la apariencia general de la gráfica.
22.2 Modificar elementos del tema
También podemos modificar elementos específicos con theme(). Por ejemplo, podemos cambiar el estilo del título, los títulos de los ejes y el texto de los ejes.
Aquí primero aplicamos theme_dark() y después cambiamos algunos elementos del texto. Esto muestra que los temas se pueden usar como punto de partida y luego ajustar según nuestras necesidades.
22.4 Elementos de un tema
Una infografía que les puede ayudar a personalizar sus plots.
ggplot2 Theme Elements Reference Sheet
22.5 Temas propios
Hasta ahora hemos utilizado los temas predefinidos de ggplot2, como theme_light() o theme_minimal(). Sin embargo, también podemos construir nuestro propio tema combinando un tema existente con modificaciones realizadas mediante theme().
Por ejemplo, podemos definir un tema personalizado para todas nuestras gráficas:
Ahora podemos reutilizar este tema en cualquier figura:
Código
ggplot( penguins,aes(x = bill_len,y = bill_dep,color = species )) +geom_point(alpha =0.7) +labs(title ="Relación entre longitud y profundidad del pico",x ="Longitud del pico (mm)",y ="Profundidad del pico (mm)" ) + tema_pingüinos
De esta manera, podemos mantener una apariencia consistente en todas nuestras visualizaciones sin tener que repetir las mismas modificaciones en cada gráfico.
TipIdea importante
Un tema personalizado es simplemente un objeto que almacena modificaciones de estilo. Esto es especialmente útil cuando queremos que todas las figuras de un proyecto, artículo o presentación compartan una apariencia uniforme.