Gráfico de lineas

Generamos unos datos aleatorios con los que representar:

x <- c( 1:50 )
linea0 <- rnorm( 50, mean = 5 )
linea1 <- rnorm( 50, mean = 0 )
linea2 <- rnorm( 50, mean = -5 )

# guardamos los datos en un único data.frame
data <- data.frame( x, linea0, linea1, linea2 )

Echamos un vistazo a los datos para ver cómo varían y establecer así los límites de los datos:

apply( data, 2, summary )
##             x   linea0     linea1    linea2
## Min.     1.00 3.235241 -1.8271140 -7.523107
## 1st Qu. 13.25 4.836205 -0.6109703 -5.925439
## Median  25.50 5.220073  0.1912114 -5.332885
## Mean    25.50 5.202685  0.1530286 -5.252061
## 3rd Qu. 37.75 5.713601  0.7437814 -4.724348
## Max.    50.00 7.436332  2.4671548 -2.900496

Vamos a ir viendo paso a paso cómo crear el gráfico.

1. Lanzar el gráfico vacio que va a contener las líneas:

plot( c(-1,51), c(-8,9), type = "n", xlab = "Tiempos",
     ylab="Efecto", main = "Líneas temporales" )

Observad que tomamos como dimensiones del gráfico c(-1,50), c(-8,9) los valores mínimo y máximo ( más 1) en los que varían los datos, la x entre 1 y 50 y las líneas entre -7 y 8

2. Añadir las líneas al gráfico existente:

# primer tratamiento
lines( data$x,  data$linea0,
    lwd = 0.7,
    lty = 1,
    col = "blue",
    pch = 1 )

# segundo tratamiento 
lines( data$x, data$linea1,
    lwd = 1.5,
    lty = 2,
    col = "darkorange1" )

# tercer tratamiento    
lines( data$x,data$linea2,
    type = "b",
    lwd = 1.3,
    lty = 3,
    col = "green4",
    pch = 20 )

3. Por último añadimos una leyenda:

legend( -2.5, 9.5, 1:3, cex=0.8, col = c("blue", "darkorange1", "green4"),
       pch =1:3, lty=1:3, title="Tratamiento", horiz = TRUE)

Observación: la posición de la leyenda se saca “a ojo”.

4. Juntamos todo el código para crear el gráfico:

# gráfico vacío
plot( c(-1,51), c(-8,9), type = "n", xlab = "Tiempos",
     ylab="Efecto", main = "Líneas temporales" )

# primer tratamiento
lines( data$x,  data$linea0,
    lwd = 0.7,
    lty = 1,
    col = "blue",
    pch = 1 )

# segundo tratamiento 
lines( data$x, data$linea1,
    lwd = 1.5,
    lty = 2,
    col = "darkorange1" )

# tercer tratamiento    
lines( data$x,data$linea2,
    type = "b",
    lwd = 1.3,
    lty = 3,
    col = "green4",
    pch = 20 )


# leyenda
legend( -2.5, 9.5, 1:3, cex=0.8, col = c("blue", "darkorange1", "green4"),
       pch =1:3, lty=1:3, title="Tratamiento", horiz = TRUE)