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 = ...))