Cómo modificar el título de un gráfico en ggplot2

Anteriormente vimos cómo añadir el título a un gráfico de ggplot2
. Hoy veremos cómo modificar el título de un gráfico en ggplot2, por ejemplo para cambiar la fuente del título o centrar el título en un gráfico. Para ello introducimos la función theme()
. Recordemos que el tema controla los aspectos visuales del diseño del gráfico, como fuente o color de fondo del gráfico.
Todas las modificaciones del tema se pueden hacer en particular para un gráfico o en global, para cualquier gráfico que se represente durante la sesión de R, llamando a la función theme_set()
.
Pero antes de empezar, guardaremos el gráfico base en un objeto llamado p
y así no tendremos que reproducir el mismo código en los próximos ejemplos.
library(ggplot2)
ggplot(msleep, aes(x=sleep_total, y=sleep_rem, color=vore)) +
geom_point() +
labs(title='El sueño de los mamíferos',
subtitle='Sueño REM frente a las horas totales de sueño',
caption='Proceedings of the National Academy of Sciences, 104 (3):1051-1056, 2007') -> p
Cómo cambiar el estilo del título
Para cambiar el estilo del título utilizamos el argumento plot.title
dentro de la función theme()
.
p + theme(plot.title=element_text(size=20, face='bold', color='red'))
Cómo añadir un salto del línea al título
Para añadir un salto del línea al título, basta con introducir la secuencia \n
en el punto donde queremos que se cambie de línea.
p + ggtitle('El sueño \nde los mamíferos')
Cómo cambiar la posición del título
Por ejemplo, si quisiéramos centrar el título, modificaríamos la opción hjust
de element_text()
con el valor 0.5
.
p + theme(plot.title=element_text(hjust=0.5),
plot.subtitle=element_text(hjust=0.5))
Cómo cambiar el tipo de fuente del título
Para modificar el tipo de fuente o familia del título, solo necesitamos indicar el argumento family
en element_text()
.
p + theme(plot.title=element_text(family='mono'))
Sin embargo, si queremos emplear una fuente específica, por ejemplo de Google Fonts, tendríamos que añadirla primero con la librería showtext
.
library(showtext)
font_add_google('Anton')
p + theme(plot.title=element_text(family='Anton', size=20),
plot.subtitle=element_text(family='Anton'))
Cómo añadir expresiones matemáticas al título
Para añadir una expresión matemática, como por ejemplo letras griegas, al título del gráfico, se utiliza la función expression()
. Todo lo que se incluye dentro de la misma puede ser expresado en lenguaje matemático similar a LaTeX.
p + labs(title=expression(paste(alpha, delta, Omicron, 1000^2, x^(y + z), integral(f(x)*dx, a, b), sum(x[i], i==1, n))))
Para más información acerca de anotación matemática en R, puedes consultar aquí.
En resumen
Utiliza…
-
theme(plot.title=element_text(...))
si quieres cambiar el estilo del título -
\n
para el salto de línea -
theme(plot.title=element_text(hjust=0.5)
para centrar el título -
theme(plot.title=element_text(family='Anton'))
conlibrary(showtext); font_add_google('Anton')
para utilizar fuentes de Google Fonts -
labs(title=expression(paste(...)))
si quieres usar expresiones matemáticas en el título