Grafico di dispersione: cos’è, come crearlo e interpretarlo

Il grafico di dispersione è la rappresentazione grafica più corretta ed efficace per analizzare le possibili relazioni tra due variabili quantitative. Questa tipologia di grafico è anche nota con il suo nome in inglese scatterplot e in questo articolo impareremo tutto il necessario per crearne uno con Excel e Python.

Quando usare un grafico di dispersione

Supponiamo di aver raccolto i dati relativi a due variabili quantitative per uno stesso gruppo di unità statistiche, pensiamo ad esempio al numero di ore studiate per preparare un esame e al voto finale raggiunto.

Ore studiateVoto
1120
1218
2024
2122
1719
2924
3128
2128

Per quanto può sembrare scontato, è importante sottolineare che le rilevazioni devono essere accoppiate, cioè su una stessa riga devono essere riportate le ore e il voto dello stesso esame. In un caso come questo il diagramma a dispersione ci sarà utilissimo per studiare graficamente la relazione tra le due variabili!

Se anche una sola delle due variabili fosse stata qualitativa, ad esempio se a posto del numero di ore studiate ci fosse stata la sede regionale dell’università, allora il diagramma di dispersione non sarebbe stato il grafico migliore, ma sarebbe stato più opportuno utilizzare un diagramma a barre (https://www.jmp.com/it_it/statistics-knowledge-portal/exploratory-data-analysis/bar-chart.html).

Come creare un grafico di dispersione

grafico di dispersione con Excel

Creare manualmente lo scatter-plot è molto semplice: occorre disegnare due assi cartesiani relativi alle due variabili e segnare con un cerchietto ogni coppia di punti a disposizione. Vediamo un esempio ottenuto con Excel.Nel grafico avremo un asse per la variabile Voto, uno per la variabile Ore e un punto nel piano per ogni coppia di valori. Per realizzare un grafico a dispersione con Excel possiamo seguire questi passi:

  1. selezionare le due colonne contenenti i dati
  2. spostarci in alto nel menù Inserisci
  3. cliccare su Grafici consigliati
  4. spostarci nel tab Tutti i grafici
  5. selezionare il grafico Dispersione (XY) e confermare con OK
  6. una volta creato il grafico possiamo selezionarlo e schiacciare sul tasto + che appare in alto a destra
  7. possiamo aggiungere il Titolo degli Assi
  8. possiamo aggiungere le Etichette Dati
  9. cliccando con il tasto destro su un’etichetta possiamo scegliere la voce Formato etichette dati e selezionare il Valore X e il Valore Y
  10. modificare in modo opportuno i titoli degli assi e del grafico

Diagramma di dispersione con Python

Vediamo come creare un diagramma di dispersione con l’ausilio delle librerie pandas e seaborn di Python. Creiamo preliminarmente un DataFrame con i dati precedenti.

import pandas as pd
ore = [11, 12, 20, 21, 17, 29, 31, 21]
voti = [20, 18, 24, 22, 19, 24, 28, 28]
df = pd.DataFrame(data = {"ore":ore,
                          "voti":voti}, 
                  columns = ["ore","voti"])

a questo punto tramite seaborn possiamo creare lo scatter plot con pochissime righe di codice!

import seaborn as sns
g = sns.scatterplot(data = df,
                    x = "ore",
                    y = "voti")
g.set(xlim = (0, 30),
      ylim = (0, 35))

Nel codice precedente abbiamo importato la libreria, creato il grafico e impostato le dimensioni degli assi. Ecco il risultato.

grafico di dispersione o scatter plot con la libreria seaborn di python

Eseguire analisi dettagliate con Seaborn

Prendiamo ora come esempio il famoso dataset Titanic importabile tramite Seaborn.

titanic = sns.load_dataset("titanic")

Eseguiamo il metodo scatterplot visto in precedenza utilizzando due variabili quantitative presenti all’interno dei dati: fare (il costo del biglietto) e age (l’età dei passeggeri). Questa volta però aggiungiamo con il parametro hue la variabile qualitativa alive (che indica quali passeggeri sono sopravvissuti).

g = sns.scatterplot(data = titanic, 
                    x = "age", 
                    y = "fare", 
                    hue = "alive")

Analizziamo il risultato:

scatterplot creato con il parametro hue di seaborn

Con una sola istruzione abbiamo rappresentato la distribuzione dei dati all’interno dello stesso grafico di dispersione, utilizzando colori diversi in base al valore della variabile alive. In questo modo possiamo andare alla ricerca di relazioni tra le variabili valide solo per alcuni sottoinsiemi del nostro campione. Per lo stesso obiettivo possiamo utilizzare anche la classe relplot in questo modo:

g = sns.relplot(data = titanic, 
                x = "age", 
                y = "fare", 
                row = "alive")

Il risultato sarà costituito da due grafici distinti, ognuno relativo alle righe con un determinato valore della variabile alive. 

grafico creato con classe relplot di seaborn

Continua a imparare

Torna in alto
Torna su