27.24 Modificar texto
Partamos de la siguiente gráfica:
ggplot(data = saber, mapping = aes(x = estu_inse_individual,
y = punt_ingles,
color = cole_naturaleza)) +
geom_point(alpha = 0.5) +
scale_color_manual(values = c('#098', '#dc7')) +
labs(title = "Al aumentar el nivel socioeconómico el puntaje de inglés tiende a aumentar ",
subtitle = "Los colegios privados tienden a tener mayor nivel socioeconómico",
x = "Nivel Socioeconómico", y = "Punta de Inglés",
color = "Tipo de Colegio") +
theme_minimal()
Para modificar el tipo de letra de todo el gráfico se usa el argumento text dentro de la capa theme():
ggplot(data = saber, mapping = aes(x = estu_inse_individual,
y = punt_ingles,
color = cole_naturaleza)) +
geom_point(alpha = 0.5) +
scale_color_manual(values = c('#098', '#dc7')) +
labs(title = "Al aumentar el nivel socioeconómico el puntaje de inglés tiende a aumentar ",
subtitle = "Los colegios privados tienden a tener mayor nivel socioeconómico",
x = "Nivel Socioeconómico", y = "Punta de Inglés",
color = "Tipo de Colegio") +
theme_minimal() +
theme(text = element_text(family = "serif", face = "bold", size=10))
Para ver información sobre fuentes vea: http://www.cookbook-r.com/Graphs/Fonts/ o busquen la viñeta
Si se quiere cambiar el tipo de texto solamente para un elemento del gráfico, por ejemplo, el título del gráfico, el eje x o el eje y, es necesario señalar cuál es el elemento de manera explícita dentro de la capa theme(). Por ejemplo:
# Para el título del gráfico
theme(plot.title = element_text(family = "serif"))
# Para el título del eje x
theme(axis.title.x = element_text(family = "serif"))
# Para el título del eje y
theme(axis.title.y = element_text(family = "serif"))Además del tipo de letra se puede cambiar el tamaño, con el argumento size =, el color con el argumento color = y la apariencia con el argumento face =. Las opciones en este caso son plain, bold para negrilla, italic para cursiva, bold.italic para negrilla y cursiva.
También se puede cambiar el centrado horizontal (hjust) y el centrado vertical (vjust), casos en los cuales se pone un número de 0 a 1 según donde se quiera poner el texto, entre otros.
Por ejemplo, para poner negrilla y centrar el título, la función anterior se complementa de la siguiente manera:
ggplot(data = saber, mapping = aes(x = estu_inse_individual,
y = punt_ingles,
color = cole_naturaleza)) +
geom_point(alpha = 0.5) +
scale_color_manual(values = c('#098', '#dc7')) +
labs(title = "Al aumentar el nivel socioeconómico el puntaje de inglés tiende a aumentar ",
subtitle = "Los colegios privados tienden a tener mayor nivel socioeconómico",
x = "Nivel Socioeconómico", y = "Punta de Inglés",
color = "Tipo de Colegio") +
theme_minimal() +
theme(text = element_text(family = "serif"),
plot.title = element_text(face = "bold",
hjust = 0.5, size = 9))
¿Qué argumento se usaría para poner negrilla al título de la leyenda?