plot
Un gráfico de dispersión conectado representa la relación entre dos variables, generalmente a través del tiempo. Puedes crear este tipo de gráfico en R base con la función plot, estableciendo type = "b".
# Datos
x <- c(1, 2, 3, 4, 5, 4, 7, 8, 9)
y <- c(12, 16, 14, 18, 16, 13, 15, 20, 22)
# Gráfico de dispersión conectado
plot(x, y, type = "b",
xlab = "Var 1", ylab = "Var 2")

Símbolo
El símbolo usado por defecto cuando type = "b" se puede modificar haciendo uso del argumento pch.
# Datos
x <- c(1, 2, 3, 4, 5, 4, 7, 8, 9)
y <- c(12, 16, 14, 18, 16, 13, 15, 20, 22)
plot(x, y,
type = "b", pch = 18,
xlab = "Var 1", ylab = "Var 2")

Colores y puntos
Puedes cambiar el color de las líneas y de los puntos. Sin embargo, el color de los puntos y las líneas será el mismo. Puedes sobrescribir los puntos utilizando la función points.
# Datos
x <- c(1, 2, 3, 4, 5, 4, 7, 8, 9)
y <- c(12, 16, 14, 18, 16, 13, 15, 20, 22)
# Puntos y colores
plot(x, y, type = "b",
pch = 19, col = 4,
xlab = "Var 1", ylab = "Var 2")
points(x, y, pch = 19)

Agregar texto
Puedes etiquetar los puntos con la función text. Esto puede ser útil, por ejemplo, para etiquetar la fecha para cada conjunto de observaciones. Ten en cuenta que hemos ajustado la posición de las etiquetas para mejor legibilidad.
# Datos
x <- c(1, 2, 3, 4, 5, 4, 7, 8, 9)
y <- c(12, 16, 14, 18, 16, 13, 15, 20, 22)
labels <- 2013:2021
# Gráfico de dispersión conectado with text
plot(x, y, type = "b",
xlim = c(1, 10), ylim = c(12, 23),
pch = 19, col = 4,
xlab = "Var 1", ylab = "Var 2")
text(x + 0.7, y + 0.4, labels)


Gráfico de dispersión conectado con flechas
Otra posibilidad es usar flechas para dibujar la ruta entre las observaciones de las variables. Para tal propósito puedes usar la siguiente función.
conArrows <- function(x, y, ...) {
plot(x, y, pch = "", ...)
invisible(sapply(1:length(x),
function(i) arrows(x[i], y[i],
x[i + 1], y[i + 1], ...)))
}
# Datos
x <- c(1, 2, 3, 4, 5, 4, 7, 8, 9)
y <- c(12, 16, 14, 18, 16, 13, 15, 20, 22)
# Gráfico de dispersión conectado con flechas
conArrows(x, y)

Personalización
Puedes pasar argumentos a la función para personalizar la salida, tal y como se muestra en el ejemplo siguiente.
conArrows <- function(x, y, ...) {
plot(x, y, pch = "", ...)
invisible(sapply(1:length(x),
function(i) arrows(x[i], y[i],
x[i + 1], y[i + 1], ...)))
}
# Datos
x <- c(1, 2, 3, 4, 5, 4, 7, 8, 9)
y <- c(12, 16, 14, 18, 16, 13, 15, 20, 22)
# Gráfico de dispersión conectado with arrows
conArrows(x, y, angle = 20, length = 0.15, col = 4)
También te puede interesar