Cómo cambiar el estilo de las etiquetas de los ejes en ggplot

En el post anterior hablamos sobre cómo modificar el formato de los ejes tipo fecha en ggplot. En concreto, escogimos los datos sobre el total de películas añadidas a Netflix durante el año 2020.

library(dplyr)
library(ggplot2)

df <- read.csv('https://raw.githubusercontent.com/elartedeldato/datasets/main/netflix_titles.csv')
df %>%
  filter(type == 'Movie') %>%
  group_by(date_added) %>%
  count() -> df_netflix_movies

df_netflix_movies$date_added <- as.Date(df_netflix_movies$date_added, format='%B %d, %Y')
df_netflix_movies$month <- as.Date(format(df_netflix_movies$date_added, '%Y-%m-01'))

df_netflix_movies %>%
  filter(month<'2021-01-01', month>='2020-01-01') %>%
  group_by(month) %>%
  summarise(n:=sum(n)) %>%
ggplot(aes(month, n))  +
  geom_line(color='red') +
  geom_point(color='red') +
  labs(title='Netflix 2020',
       subtitle='Total de películas añadidas a la plataforma durante el año 2020',
       x='', y='') +
  theme(panel.grid = element_blank(),
        text=element_text(family='BebasNeue-Regular'),
        panel.grid.major.y = element_line(size=0.05, color='white'),
        panel.background = element_rect(fill='black'),
        plot.background = element_rect(fill='black', color='black'),
        axis.text = element_text(color='white'),
        panel.border = element_blank(),
        plot.title = element_text(family='BebasNeue-Regular', color='red',size=30),
        plot.subtitle = element_text(family='BebasNeue-Regular', color='red',size=15)) -> p
p

Hoy veremos, cómo modificar el estilo del texto de los ejes, que como ya sabemos de antemano por entradas anteriores, haremos uso de la función theme(). ¡Empezamos!

Cómo cambiar el color de las etiquetas de los ejes

Para cambiar el color del texto de las etiquetas de los ejes, se emplea el argumento axis.text. En este argumento, indicamos con la función element_text() el color deseado.

p + theme(axis.text = element_text(color='red'))

No confundir con el color del título del eje, que se modificaría con axis.title.

Si sólo quisiéramos modificar uno de los ejes, axis.text.x o bien, axis.text.y.

Cómo cambiar la fuente de las etiquetas de los ejes

La fuente se modifica a través del argumento family. Por tanto, al tratarse de la fuente de las etiquetas de los ejes, basta con indicarlo de nuevo en la función element_text() del argumento axis.text.

p + theme(axis.text = element_text(family='mono'))

Cómo aumentar el tamaño de letra de los ejes

Por otro lado, el tamaño de letra de los ejes se puede aumentar o disminuir con el argumento size.

p + theme(axis.text = element_text(size=20))

Cómo girar las etiquetas de los ejes

Finalmente, uno de los recursos más útiles es saber cómo indicar un ángulo de texto diferente al estándar. Esto de hace a través del argumento angle, véase, ángulo en inglés. Los ángulos más habituales son 45 o 90 grados.

p + theme(axis.text = element_text(angle = 45))

p + theme(axis.text = element_text(angle = 90))

En resumen…

  • Cambiamos el color de las etiquetas de los ejes con theme(axis.text = element_text(color='red'))
  • Modificamos el estilo de fuente de los ejes con theme(axis.text = element_text(family=...))
  • Aumentamos el tamaño de letra de los ejes con theme(axis.text = element_text(size=...))
  • Giramos las etiquetas de los ejes con theme(axis.text = element_text(angle = ...))
Paula L. Casado
Paula L. Casado
Data Scientist

Científica de datos especializada en visualización de datos.

Relacionado