Ricerca Sociale con R

Una wiki per l'analisi dei dati con R

Strumenti Utente

Strumenti Sito


Il Laboratorio di Analisi dei Dati con R, dell'Università di Teramo su piattaforma Meet, inizia il 9 aprile 2021 - Iscrizione - email
r:grafici:scatterplot

Scatterplot (grafico a dispersione)

Per rappresentare una o più variabili cardinali, viene comunemente utilizzato il grafico a dispersione o scatterplot.

Snippet from Wikipedia: Grafico di dispersione

Il grafico di dispersione o grafico a dispersione o scatter plot o scatter graph è un tipo di grafico in cui due variabili di un set di dati sono riportate su uno spazio cartesiano.

I dati sono visualizzati tramite una collezione di punti ciascuno con una posizione sull'asse orizzontale determinato da una variabile e sull'asse verticale determinato dall'altra.

Si tratta della rappresentazione grafica di default prodotta dal comando plot per i vettori numerici.

plot(ChickWeight$weight)
&nolink |

Per convenzione, la variabile indipendente viene posta sull'asse delle ascisse e quella dipendente sull'asse delle ordinate: in plot(x,y), la prima variabile sarà quella indipendente:

plot(ChickWeight$Time,ChickWeight$weight)
&nolink |

Usare diversi colori per i punti

Possiamo rappresentare una terza variabile (di raggruppamento), modificando i colori dei punti. In questo caso, possiamo rappresentare `ChickWeight$Diet`, prima scegliendo i colori (`col1←c(“red”, “green”, “blue”, “yellow”)`), e poi associandoli ai livelli del fattore (col1[ChickWeight$Diet]).

# definiamo un vettore di colori per i livelli di ChickWeight$Diet
col1<-c("red", "green", "blue", "yellow")
 
# grafico con titolo, etichette degli assi, e punti colorati
plot(ChickWeight$Time,ChickWeight$weight,
     main="Weight by Time", xlab="Time", ylab="Weight",
     col = col1[ChickWeight$Diet])
 
# aggiungiamo una legenda per i colori dei punti
legend("topleft", title="Diet", cex = 0.8,
       legend=levels(ChickWeight$Diet), fill = col1)

Per i parametri della legenda, cfr. Legenda (legend).

&nolink |

Usare diversi simboli per rappresentare i punti

Per rappresentare gruppi diversi all'interno dello scatterplot, possiamo anche utilizzare simboli diversi (cfr. parametri grafici: i simboli). Il codice viene qui riportato a scopo esemplificativo, in quanto il grafico così composto non risulta gradevole e leggibile.

# scegliamo i simboli da utilizzare per i livelli di ChickWeight$Diet
punti<-c(0,1,2,6)
 
# grafico
plot(ChickWeight$Time,ChickWeight$weight,
     main="Weight by Time", xlab="Time", ylab="Weight",
     pch = punti[ChickWeight$Diet])
 
# legenda
legend("topleft", title="Diet", cex = 0.8,
       legend=levels(ChickWeight$Diet), pch=punti)

Vedi anche: Grafici a dispersione con ggplot2

Script di esempio

Es Scatterplot.R
plot(ChickWeight$weight)
plot(ChickWeight$Time,ChickWeight$weight)
 
# grafico con punti a colori
col1<-c("red", "green", "blue", "yellow")
 
plot(ChickWeight$Time,ChickWeight$weight,
     main="Weight by Time", xlab="Time", ylab="Weight",
     col = col1[ChickWeight$Diet])
 
legend("topleft", title="Diet", cex = 0.8,
       legend=levels(ChickWeight$Diet), fill = col1)
 
# grafico con diversi simboli
punti<-c(0,1,2,6)
 
plot(ChickWeight$Time,ChickWeight$weight,
     main="Weight by Time", xlab="Time", ylab="Weight",
     pch = punti[ChickWeight$Diet])
 
legend("topleft", title="Diet", cex = 0.8,
       legend=levels(ChickWeight$Diet), pch=punti)
r/grafici/scatterplot.txt · Ultima modifica: 04/01/2019 12:33 da admin