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.
Aprende estadística desde lo básico hasta técnicas avanzadas, explicado con claridad
Ir al sitio
También te puede interesar