Quando si costruiscono grafici multistrato, è necessario considerare il ggplotpacchetto. L'idea è di creare un oggetto grafico con un'estetica di base e migliorarlo in modo incrementale.
ggplotlo stile richiede il confezionamento dei dati data.frame.
# Data generation
x <- seq(-2, 2, 0.05)
y1 <- pnorm(x)
y2 <- pnorm(x,1,1)
df <- data.frame(x,y1,y2)
Soluzione di base:
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
Qui + operatorè usato per aggiungere livelli extra all'oggetto base.
Con ggplotte hai accesso all'oggetto grafico in ogni fase della stampa. Supponiamo che la normale configurazione dettagliata possa assomigliare a questa:
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 e puoi vederla in ogni fase (beh, dopo la creazione di almeno un livello). Ulteriori incantesimi della trama sono fatti anche con l'oggetto creato. Ad esempio, possiamo aggiungere etichette per gli assi:
g <- g + ylab("Y") + xlab("X")
g
La finale gè simile a:

AGGIORNAMENTO (2013-11-08):
Come sottolineato nei commenti, ggplotla filosofia suggerisce di utilizzare i dati in formato lungo. Puoi fare riferimento a questa risposta per vedere il codice corrispondente.
?curve. Usaadd=TRUE.