geom_path
geom_path
Dadas dos variables en un data frame puedes dibujar el camino que recorren con geom_path
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
x <- c(1, 2, 3, 4, 5, 4, 7, 8, 9)
y <- c(12, 16, 14, 18, 16, 13, 15, 20, 22)
df <- data.frame(x, y)
# Gráfico dispersión conectado
ggplot(df, aes(x = x, y = y)) +
geom_path()
Observaciones
Puedes resaltar los valores con geom_point
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
x <- c(1, 2, 3, 4, 5, 4, 7, 8, 9)
y <- c(12, 16, 14, 18, 16, 13, 15, 20, 22)
df <- data.frame(x, y)
# Gráfico dispersión conectado
ggplot(df, aes(x = x, y = y)) +
geom_path() +
geom_point(size = 2)
Etiquetando observaciones
Puedes etiquetar cada observación haciendo uso de geom_text
. En este ejemplo vamos a añadir unas fechas.
# install.packages("ggplot2")
library(ggplot2)
# Datos
x <- c(1, 2, 3, 4, 5, 4, 7, 8, 9)
y <- c(12, 16, 14, 18, 16, 13, 15, 20, 22)
etiquetas <- 2013:2021
df <- data.frame(x, y, labels = etiquetas)
# Gráfico dispersión conectado
ggplot(df, aes(x = x, y = y)) +
geom_path(color = 4) +
geom_point(size = 2, color = 4) +
geom_text(aes(label = etiquetas, x = x + 0.7, y = y))
Puedes pasar la función arrow
al argumento arrow
de la función geom_path
para añadir una punta de flecha al final de la línea.
# install.packages("ggplot2")
library(ggplot2)
# Datos
x <- c(1, 2, 3, 4, 5, 4, 7, 8, 9)
y <- c(12, 16, 14, 18, 16, 13, 15, 20, 22)
etiquetas <- 2013:2021
df <- data.frame(x, y, labels = etiquetas)
# Gráfico dispersión conectado
ggplot(df, aes(x = x, y = y)) +
geom_path(color = 4, arrow = arrow()) +
geom_point(size = 2, color = 4) +
geom_text(aes(label = etiquetas, x = x + 0.7, y = y))
Sin embargo, si usas geom_segment
como se indica a continuación puedes añadir una flecha entre cada par de observaciones.
# install.packages("ggplot2")
library(ggplot2)
# Datos
x <- c(1, 2, 3, 4, 5, 4, 7, 8, 9)
y <- c(12, 16, 14, 18, 16, 13, 15, 20, 22)
etiquetas <- 2013:2021
df <- data.frame(x, y, labels = etiquetas)
# Gráfico dispersión conectado
ggplot(df, aes(x = x, y = y)) +
geom_segment(aes(xend = c(tail(x, n = -1), NA),
yend = c(tail(y, n = -1), NA)),
arrow = arrow(length = unit(0.4, "cm")),
color = 4) +
geom_point(size = 2, color = 4) +
geom_text(aes(label = etiquetas, x = x + 0.7, y = y))
También te puede interesar