Al construir parcelas multicapa, uno debe considerar el ggplotpaquete. La idea es crear un objeto gráfico con una estética básica y mejorarlo gradualmente.
ggplotel estilo requiere que se empaqueten los datos data.frame.
# Data generation
x <- seq(-2, 2, 0.05)
y1 <- pnorm(x)
y2 <- pnorm(x,1,1)
df <- data.frame(x,y1,y2)
Solución básica:
require(ggplot2)
ggplot(df, aes(x)) + # basic graphical object
geom_line(aes(y=y1), colour="red") + # first layer
geom_line(aes(y=y2), colour="green") # second layer
Aquí + operatorse usa para agregar capas adicionales al objeto básico.
Con ggplotusted tiene acceso a objetos gráficos en cada etapa del trazado. Digamos, la configuración habitual paso a paso puede verse así:
g <- ggplot(df, aes(x))
g <- g + geom_line(aes(y=y1), colour="red")
g <- g + geom_line(aes(y=y2), colour="green")
g
gproduce la trama, y puede verla en cada etapa (bueno, después de crear al menos una capa). Otros encantamientos de la trama también se realizan con el objeto creado. Por ejemplo, podemos agregar etiquetas para ejes:
g <- g + ylab("Y") + xlab("X")
g
El final se gve así:

ACTUALIZACIÓN (2013-11-08):
Como se señaló en los comentarios, ggplotla filosofía sugiere utilizar datos en formato largo. Puede consultar esta respuesta para ver el código correspondiente.
?curve. Usoadd=TRUE.