Las funciones matplot y matlines

Datos de muestra

En este tutorial vamos a utilizar los siguientes datos de muestra, que consisten en diez realizaciones de un movimiento browniano. Los datos correspodientes para cada trayectoria son una columna de la matriz B.

# Movimiento browniano
set.seed(1)

# Rejilla
t <- seq(0, 1, by = 0.001)
p <- length(t) - 1

# 10 trayectorias
n <- 10
I <- matrix(rnorm(n * p, 0, 1 / sqrt(p)), n, p)

# Matriz
B <- apply(I, 1, cumsum)

La función matplot

Para crear un gráfico de líneas con todas las columnas de los datos al mismo tiempo puedes hacer uso de la función matplot y establecer type = "l". Ten en cuenta que B es una matriz numérica, pero también podría ser una data frame o un vector y una matriz.

matplot(B, type = "l")

# Equivalente a:
matplot(as.data.frame(B), type = "l")

# Equivalente a:
matplot(matrix(t), rbind(rep(0, n), B), type = "l")

Dibujando las columnas de un data frame o de una matriz con matplot

Por defecto, la función utiliza los colores 1 al 6, un ancho de línea de 1 y los tipos de línea 1 al 5 para representar las variables, pero esto se puede sobrescribir con los argumentos col, lwd y lty, respectivamente.

# Colors
cols <- hcl.colors(10, "Temps")

matplot(B, type = "l",
        col = cols, # Colores
        lwd = 2,    # Ancho de línea
        lty = 1)    # Tipo de línea

Personalización de la función matplot

La función matlines

Usando la función matlines para resaltar líneas

La función matlines es a matplot lo que lines es a la función plot. Permite añadir más líneas a partir de un data frame o una matriz al gráfico anterior. En el siguiente ejemplo la usamos para resaltar algunas trayectorias del movimiento browniano.

matplot(B, type = "l",
        col = "lightgray",
        lty = 1)

# Resaltar las tres primeras columnas
# con un color diferente
matlines(B[, 1:3], type = "l",
         col = 2, lwd = 2,
         lty = 1)

También te puede interesar