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.
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
# 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 )
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”.
# 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)