Tracciare due grafici nello stesso grafico in R

Vorrei tracciare y1 e y2 nello stesso grafico.

x  <- seq(-2, 2, 0.05)
y1 <- pnorm(x)
y2 <- pnorm(x, 1, 1)
plot(x, y1, type = "l", col = "red")
plot(x, y2, type = "l", col = "green")

Ma quando lo faccio in questo modo, non vengono tracciati insieme nella stessa trama.

In Matlab si può fare hold on, ma qualcuno sa come farlo in R?

Soluzione

lines() o points() aggiungeranno al grafico esistente, ma non creeranno una nuova finestra. Quindi dovreste fare

plot(x,y1,type="l",col="red")
lines(x,y2,col="green")
Commentari (9)

Puoi anche usare par e tracciare sullo stesso grafico ma su un asse diverso. Qualcosa come segue:

plot( x, y1, type="l", col="red" )
par(new=TRUE)
plot( x, y2, type="l", col="green" )

Se leggete in dettaglio su par in R, sarete in grado di generare grafici davvero interessanti. Un altro libro da guardare è Paul Murrel's R Graphics.

Commentari (5)

Se stai usando la grafica di base (cioè non la grafica a reticolo), allora puoi imitare la funzione hold on di MATLAB usando le funzioni punti/linee/poligoni per aggiungere ulteriori dettagli alle tue trame senza iniziare una nuova trama. Nel caso di un layout multiplot, puoi usare par(mfg=...) per scegliere a quale plot aggiungere le cose.

Commentari (0)