Come sovrapporre grafici in r (con esempi)


Puoi utilizzare le funzioni lines() e points() per sovrapporre più percorsi in R:

 #create scatterplot of x1 vs. y1
plot(x1, y1)

#overlay line plot of x2 vs. y2
lines(x2, y2)

#overlay scatterplot of x3 vs. y3
points(x2, y2)

Gli esempi seguenti mostrano come utilizzare nella pratica ciascuna di queste funzioni.

Esempio 1: come sovrapporre i percorsi delle linee in R

Il codice seguente mostra come sovrapporre tre grafici a linee in un unico grafico in R:

 #define datasets
x1 = c(1, 3, 6, 8, 10)
y1 = c(7, 12, 16, 19, 25)

x2 = c(1, 3, 5, 7, 10)
y2 = c(9, 15, 18, 17, 20)

x3 = c(1, 2, 3, 5, 10)
y3 = c(5, 6, 7, 15, 18)

#create line plot of x1 vs. y1
plot(x1, y1, type=' l ', col=' red ')

#overlay line plot of x2 vs. y2
lines(x2, y2, col=' blue ')

#overlay line plot of x3 vs. y3
lines(x3, y3, col=' purple ')

#add legend
legend(1, 25, legend=c(' Line 1 ', ' Line 2 ', ' Line 3 '),
       col=c(' red ', ' blue ', ' purple '), lty= 1 ) 

Sovrapposizione di grafici a linee in R con legenda

Esempio 2: come sovrapporre nuvole di punti in R

Il codice seguente mostra come sovrapporre due nuvole di punti in un unico grafico in R:

 #define datasets
x1 = c(1, 3, 6, 8, 10)
y1 = c(7, 12, 16, 19, 25)

x2 = c(1, 3, 5, 7, 10)
y2 = c(9, 15, 18, 17, 20)

#create scatterplot of x1 vs. y1
plot(x1, y1, col=' red ', pch= 19 )

#overlay scatterplot of x2 vs. y2
points(x2, y2, col=' blue ', pch= 19 )

#add legend
legend(1, 25, legend=c(' Data 1 ', ' Data 2 '), pch=c(19, 19), col=c(' red ', ' blue '))

Grafici a dispersione sovrapposti in R con legenda

Si noti che l’argomento pch specifica la forma dei punti nel grafico. Un valore pch pari a 19 specifica un cerchio pieno.

Puoi trovare un elenco completo dei valori pch e dei moduli corrispondenti qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre funzioni di traccia comuni in R:

Come tracciare più boxplot in un singolo grafico in R
Come tracciare più linee in un grafico in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *