Gráfico de líneas con geom_line

Dado un data frame con una variable numérica x y otra variable numérica y que representa el valor para cada observación es posible crear un gráfico de líneas con geom_line de la siguiente manera:

# install.packages("ggplot2")
library(ggplot2)

# Datos
set.seed(1)
x <- 1:20
y <- x ^ 2 + runif(20, 0, 100)
df <- data.frame(x = x, y = y)

ggplot(df, aes(x = x, y = y)) +
  geom_line()

Gráfico de líneas en ggplot2

Agregar puntos

Si agregas geom_point al gráfico se mostrarán los puntos para cada par de obervaciones.

# install.packages("ggplot2")
library(ggplot2)

# Datos
set.seed(1)
x <- 1:20
y <- x ^ 2 + runif(20, 0, 100)
df <- data.frame(x = x, y = y)

ggplot(df, aes(x = x, y = y)) +
  geom_line() +
  geom_point()

Gráfico de líneas con puntos en ggplot2

Línea con una flecha

Si tus datos representan una tendencia o un camino puedes agregar una flecha al final de la línea pasando la función arrow al argumento arrow. Escribe ?arrow para obtener detalles adicionales.

# install.packages("ggplot2")
library(ggplot2)

# Datos
set.seed(1)
x <- 1:20
y <- x ^ 2 + runif(20, 0, 100)
df <- data.frame(x = x, y = y)

ggplot(df, aes(x = x, y = y)) +
  geom_line(arrow = arrow())

Gráfico de líneas con flecha en R ggplot

Gráfico de escaleras con geom_step

Gráfico de escaleras en ggplot2

Primera línea horizontal

Un geom alternativo es geom_step, que creará un gráfico de escaleras donde la primera línea será por defecto horizontal.

# install.packages("ggplot2")
library(ggplot2)

# Datos
set.seed(1)
x <- 1:20
y <- x ^ 2 + runif(20, 0, 100)
df <- data.frame(x = x, y = y)

ggplot(df, aes(x = x, y = y)) +
  geom_step()

Gráfico de escaleras vertical en ggplot2

Primera línea vertical

Para que la primera línea sea vertical pasa "vh" al argumento direction del geom.

# install.packages("ggplot2")
library(ggplot2)

# Datos
set.seed(1)
x <- 1:20
y <- x ^ 2 + runif(20, 0, 100)
df <- data.frame(x = x, y = y)

ggplot(df, aes(x = x, y = y)) +
  geom_step(direction = "vh")

Usando la función geom_step

Paso intermedio entre los valores

Otra opción es usar "mid", para un paso a medio camino entre los valores adyacentes del eje X.

# install.packages("ggplot2")
library(ggplot2)

# Datos
set.seed(1)
x <- 1:20
y <- x ^ 2 + runif(20, 0, 100)
df <- data.frame(x = x, y = y)

ggplot(df, aes(x = x, y = y)) +
  geom_step(direction = "mid")

Color de línea y estilo

Los argumentos color, lwd y linetype se pueden usar para modificar el color, el ancho y el tipo de líneas, respectivamente.

# install.packages("ggplot2")
library(ggplot2)

# Datos
set.seed(1)
x <- 1:20
y <- x ^ 2 + runif(20, 0, 100)
df <- data.frame(x = x, y = y)

ggplot(df, aes(x = x, y = y)) +
  geom_line(color = 4,    # Color de la línea
            lwd = 1,      # Ancho de la línea
            linetype = 1) # Tipo de línea

Personalización del gráfico de líneas en ggplot2

Ten en cuenta que el tipo de línea se puede establecer con números (0 a 6), con textos o con patrones.

# install.packages("ggplot2")
library(ggplot2)

# Datos
set.seed(1)
x <- 1:20
y <- x ^ 2 + runif(20, 0, 100)
df <- data.frame(x = x, y = y)

ggplot(df, aes(x = x, y = y)) +
  geom_line(color = 4,
            lwd = 1,  
            linetype = "dashed") 

Tipo de línea en ggplot2

También te puede interesar