Los datos usados en los ejemplos de esta guía son los siguientes:
# Datos
set.seed(123)
x <- 1:50
y <- x + rnorm(50, sd = 10)
groups <- sample(letters, 50, replace = TRUE)
text
Añadiendo textos
Puedes añadir textos a los gráficos de R base con la función text
. Tan solo necesitas especificar las coordenadas y el texto que quieres agregar.
plot(x, y, pch = 19, col = 4)
text(x = 10, y = 50, # Coordenadas
label = "Cuadro de texto")
Personalización del texto
Los textos se pueden personalizar con los parámetros gráficos, tales como col
, para el color, font
para el estilo de fuente, o cex
para el tamaño del texto.
plot(x, y, pch = 19, col = 4)
text(x = 15, y = 50, label = "Cuadro de texto",
col = "red", # Color del texto
font = 2, # Estilo
cex = 1.5) # Tamaño
Rotación
Puedes rotar el texto estableciendo un ángulo de rotación con el argumento srt
.
plot(x, y, pch = 19, col = 4)
# Rotar 45 grados
text(x = 15, y = 50, label = "Cuadro de texto",
srt = 45) # Rotación
Dividir el texto en varias líneas
Por último, cabe destacar que puedes dividir el texto en varias líneas con "\n"
.
plot(x, y, pch = 19, col = 4)
# Divide el texto en varias líneas
text(x = 15, y = 50,
label = "Cuadro de\n texto") # Dividir el texto
Si tienes una variable categórica puedes pasarla al argumento labels
de la función text
para etiquetar las observaciones. Puedes establecer la posición especificando las variables y ajustándolas.
plot(x, y, pch = 19, col = 4,
ylim = c(-10, 70)) # Límites del eje Y
text(x = x, y = y - 3, # Ajustar la posición
label = groups)
mtext
La función mtext
se puede usar para añadir textos en los lados de un gráfico, especificando el lado con el argumento side
.
side | Posición |
---|---|
1 | abajo |
2 | izquierda |
3 | arriba |
4 | derecha |
Texto abajo
plot(x, y, pch = 19, col = 4)
# Texto abajo-centro
mtext("Texto abajo", side = 1)
Texto a la izquierda
plot(x, y, pch = 19, col = 4)
# Izquierda-centro
mtext("Texto a la izquierda", side = 2)
Texto arriba
plot(x, y, pch = 19, col = 4)
# Arriba-centro
mtext("Texto arriba", side = 3)
Texto a la derecha
plot(x, y, pch = 19, col = 4)
# Derecha-centro
mtext("Texto a la derecha", side = 4)
mtext
Hay varios argumentos que puedes personalizar. Los más relevantes son:
line
, para establecer la línea donde añadir los textos. El valor por defecto es 0.adj
, para ajustar el texto en la dirección de lectura desde 0 hasta 1 (el valor por defecto es 0.5).at
, para indicar donde añadir los textos en base al eje correspondiente.col
, cex
, family
y font
.Texto arriba a la derecha
plot(x, y, pch = 19, col = 4)
# Arriba-derecha text
mtext("Arriba-derecha text",
side = 3, adj = 1)
Texto arriba en el centro, línea 3
plot(x, y, pch = 19, main = "Título", col = 4)
# Texto arriba, línea 3 (sobre el título)
mtext("Texto arriba, línea 3",
side = 3, line = 3)
Texto arriba a la derecha, líneas 0, 1, 2, 3
plot(x, y, pch = 19, main = "Título", col = 4)
mtext("Arriba-derecha, línea 0",
side = 3, adj = 1, line = 0)
mtext("Arriba-derecha, línea 1",
side = 3, adj = 1, line = 1)
mtext("Arriba-derecha, línea 2",
side = 3, adj = 1, line = 2)
mtext("Arriba-derecha, línea 3",
side = 3, adj = 1, line = 3)
Texto a la izquierda en Y = 50, línea 2
plot(x, y, pch = 19, col = 4)
# Texto a la izquierda, línea 2, centrado en 50
mtext("Izquierda, Y = 50, línea 2",
side = 2, at = 50, line = 2)
mtext
no soporta rotación, solo un ajuste horizontal con las = 1
para el eje vertical o un ajuste vertical con las = 3
para el eje X. Si necesitas rotar los textos puedes utilizar la función text
con el argumento srt
en su lugar.
También te puede interesar