Considera el siguiente data frame donde cada columna representa la trayectoria de un movimiento browniano.
# Movimiento browniano
set.seed(2)
# Grid
t <- seq(0, 1, by = 0.001)
p <- length(t) - 1
# 5 trayectorias
n <- 5
I <- matrix(rnorm(n * p, 0, 1 / sqrt(p)), n, p)
# Data frame
df1 <- data.frame(apply(I, 1, cumsum))
Para usar tu data frame en ggplot2 tendrás que transformarlo en lo que se conoce como long format. Puedes transformalo haciendo uso de la función melt
del paquete reshape
.
# install.packages("reshape")
library(reshape)
df <- data.frame(x = seq_along(df1[, 1]),
df1)
# Formato long
df <- melt(df, id.vars = "x")
Dado un data frame en formato long como df
es posible crear un gráfico de múltiples líneas en ggplot2 con geom_line
de la siguiente manera.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = x, y = value, color = variable)) +
geom_line()
Grosor y tipo de líneas
El estilo de las líneas se puede cambiar haciendo uso de los argumentos de geom_line
, como linetype
para cambiar el tipo de línea o lwd
para cambiar su grosor.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = x, y = value, color = variable)) +
geom_line(linetype = 3,
lwd = 1.1)
Personalización del color
La paleta de colores por defecto se puede cambiar pasando un vector de colores al argumento values
de la función scale_color_manual
.
# install.packages("ggplot2")
library(ggplot2)
# Selección de colores
cols <- c("#D43F3A", "#EEA236", "#5CB85C", "#46B8DA", "#9632B8")
ggplot(df, aes(x = x, y = value, color = variable)) +
geom_line() +
scale_color_manual(values = cols)
Resaltar algunas líneas
Ten en cuenta que usando el método anterior también puedes destacar algunas líneas del gráfico, usando el mismo color para todas menos para las que quieras.
# install.packages("ggplot2")
library(ggplot2)
# Selección de colores
cols <- c("gray", "gray", "gray", "#5CB85C", "gray")
ggplot(df, aes(x = x, y = value, color = variable)) +
geom_line() +
scale_color_manual(values = cols)
Título
Puedes cambiar el título por defecto de la leyenda del gráfico de líneas con guide_legend
tal y como se muestra a continuación.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = x, y = value, color = variable)) +
geom_line() +
guides(color = guide_legend(title = "Título"))
Etiquetas de la leyenda
Las etiquetas de la leyenda se pueden modificar haciendo uso del argumento labels
de scale_color_discrete
.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = x, y = value, color = variable)) +
geom_line() +
scale_color_discrete(labels = paste("V", 1:5))
Eliminar la leyenda
Si quieres deshacerte de la leyenda puedes establecer legend.position = "none"
.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = x, y = value, color = variable)) +
geom_line() +
theme(legend.position = "none")
También te puede interesar