Cuando creas gráficos con ggplot2 puedes agregar un título, un subtítulo un caption (descripción) o un tag (una etiqueta, por ejemplo para indicar el número de la figura). Existen dos formas de añadir títulos: usando la función ggtitle
o la función labs
. La primera es solo para títulos y subtítulos, mientras que la segunda también permite agregar captions y tags.
Opción 1. Usar ggtitle
.
# install.packages(ggplot2)
library(ggplot2)
ggplot(economics, aes(date, unemploy)) +
geom_area(fill = rgb(0, 0.5, 1, alpha = 0.5)) +
ggtitle("Título del gráfico con ggtitle()")
Opción 2. Usar labs
.
También puedes usar la función labs
para añadir el título.
# install.packages(ggplot2)
library(ggplot2)
ggplot(economics, aes(date, unemploy)) +
geom_area(fill = rgb(0, 0.5, 1, alpha = 0.5)) +
labs(title = "Título del gráfico con labs()")
Posición del título
La posición del título se puede establecer con respecto a todo el gráfico en lugar de solo el panel con el componente plot.title.position
de la función theme
. El valor por defecto "panel"
. Esto también se aplica al subtítulo.
# install.packages(ggplot2)
library(ggplot2)
ggplot(economics, aes(date, unemploy)) +
geom_area(fill = rgb(0, 0.5, 1, alpha = 0.5)) +
labs(title = "Título en el margen del gráfico") +
theme(plot.title.position = "plot")
Puedes agregar un subtítulo de la misma manera que añadiste el título, pero usando el argumento subtitle
.
Opción 1. Usar ggtitle
.
# install.packages(ggplot2)
library(ggplot2)
ggplot(economics, aes(date, unemploy)) +
geom_area(fill = rgb(0, 0.5, 1, alpha = 0.5)) +
ggtitle("Título del gráfico",
subtitle = "Subtítulo del gráfico")
Opción 2. Usar labs
.
# install.packages(ggplot2)
library(ggplot2)
ggplot(economics, aes(date, unemploy)) +
geom_area(fill = rgb(0, 0.5, 1, alpha = 0.5)) +
labs(title = "Título del gráfico",
subtitle = "Subtítulo del gráfico")
Un caption se puede usar para describir la figura. Puedes agregarlo con el argumento caption
de la función labs
.
# install.packages(ggplot2)
library(ggplot2)
ggplot(economics, aes(date, unemploy)) +
geom_area(fill = rgb(0, 0.5, 1, alpha = 0.5)) +
labs(title = "Título del gráfico",
subtitle = "Subtítulo del gráfico",
caption = "Este es el caption")
El componente plot.caption.position
de la función theme
permite alinear el caption al panel ("panel"
, por defecto) o al gráfico completo (“plot
”).
# install.packages(ggplot2)
library(ggplot2)
ggplot(economics, aes(date, unemploy)) +
geom_area(fill = rgb(0, 0.5, 1, alpha = 0.5)) +
labs(caption = "Este es el caption") +
theme(plot.caption.position = "plot",
plot.caption = element_text(hjust = 0))
Ten en cuenta que por defecto el caption está alineado a la derecha, así que puedes establecer hjust = 0
para moverlo a la izquierda del gráfico.
Los tags o etiquetas son útiles para indicar la numeración de las figuras en un documento. Puedes añadirlos con el argumento tag
de la función labs
.
# install.packages(ggplot2)
library(ggplot2)
ggplot(economics, aes(date, unemploy)) +
geom_area(fill = rgb(0, 0.5, 1, alpha = 0.5)) +
labs(title = "Título del gráfico",
subtitle = "Subtítulo del gráfico",
caption = "Este es el caption",
tag = "Fig. 1")
Posición del tag
La posición del tag se puede cambiar con el componente plot.tag.position
de la función theme
. Los posibles valores son "topleft"
(por defecto), "top"
, "topright"
, "left"
, "right"
, "bottomleft"
, "bottom"
o "bottomright"
.
# install.packages(ggplot2)
library(ggplot2)
ggplot(economics, aes(date, unemploy)) +
geom_area(fill = rgb(0, 0.5, 1, alpha = 0.5)) +
labs(tag = "Fig. 1") +
theme(plot.tag.position = "bottomright)
Los títulos, subtítulos, captions y tags se pueden personalizar con los componentes plot.title
, plot.subtitle
, plot.caption
y plot.tag
de la función theme
, haciendo uso de element_text
. Puedes modificar el color, la familia de la fuente, el tamaño del texto, el estilo de la fuente, el ángulo o el ajuste horizontal o vertical para cada texto tal y como se muestra a continuación.
# install.packages(ggplot2)
library(ggplot2)
ggplot(economics, aes(date, unemploy)) +
geom_area(fill = rgb(0, 0.5, 1, alpha = 0.5)) +
labs(title = "Título del gráfico",
subtitle = "Subtítulo del gráfico",
caption = "Este es el caption",
tag = "Fig. 1") +
theme(plot.title = element_text(family = "serif", # Familia de fuente del título
face = "bold", # Estilo de fuente
color = 4, # Color de la fuente
size = 15, # Tamaño de la fuente
hjust = 1, # Ajuste horizontal
vjust = 1, # Ajuste vertical
angle = -10, # Ángulo de la fuente
lineheight = 1, # Espacio entre líneas
margin = margin(20, 0, 0, 0)), # Márgenes (t, r, b, l)
plot.subtitle = element_text(hjust = 0), # Personalizar el subtítulo
plot.caption = element_text(hjust = 0.25), # Personalizar el caption
plot.tag = element_text(face = "italic"), # Personalizar el tag
plot.title.position = "plot", # Posición del título y del subtítulo ("plot" o "panel")
plot.caption.position = "panel", # Posición del caption ("plot" o "panel")
plot.tag.position = "top") # Posición del tag
También te puede interesar