La visualizzazione dei dati è una competenza essenziale per i data scientist. Combina statistica e design in modi significativi e appropriati. Da un lato, la visualizzazione dei dati è una forma di analisi grafica dei dati, che pone l'accento sulla rappresentazione accurata e sull'interpretazione dei dati. Dall'altro, si basa su buone scelte di design per rendere i grafici accattivanti e facilitare sia la comprensione sia la comunicazione dei risultati. In più, entra in gioco anche la creatività, perché la visualizzazione è, in fondo, una forma di comunicazione visiva.
È importante capire la distinzione tra visualizzazioni esplorative ed esplicative. Le visualizzazioni esplorative si generano facilmente, sono ricche di dati e pensate per un pubblico specialistico ristretto, come te e i tuoi colleghi: il loro scopo principale è l'analisi grafica dei dati. Le visualizzazioni esplicative richiedono più lavoro, sono specifiche ai dati e rivolte a un pubblico più ampio, ad esempio per pubblicazioni o presentazioni: fanno parte del processo di comunicazione. Come data scientist, è fondamentale poter esplorare rapidamente i dati, ma dovrai anche spiegare i risultati agli stakeholder. Un buon design parte dal pensare al pubblico — e a volte significa pensare a noi stessi.
Diagramma a dispersione
Qui sotto abbiamo un dataset con i pesi medi del cervello e del corpo di 62 mammiferi.
MASS::mammals
body brain
Arctic fox 3.385 44.50
Owl monkey 0.480 15.50
Mountain beaver 1.350 8.10
Cow 465.000 423.00
Grey wolf 36.330 119.50
Goat 27.660 115.00
Roe deer 14.830 98.20
...
Pig 192.000 180.00
Echidna 3.000 25.00
Brazilian tapir 160.000 169.00
Tenrec 0.900 2.60
Phalanger 1.620 11.40
Tree shrew 0.104 2.50
Red fox 4.235 50.40
Per capire la relazione, il primo passo più ovvio è creare un diagramma a dispersione, come quello mostrato di seguito:
ggplot(mammals, aes(x = body, y = brain)) +
geom_point()
Due mammiferi, l'elefante africano e quello asiatico, hanno sia peso corporeo sia cerebrale molto elevati, causando una asimmetria positiva su entrambi gli assi.
Modello lineare
Applicare un modello lineare, in questo caso, sarebbe una scelta poco adatta perché pochi valori estremi hanno un'influenza elevata.
ggplot(mammals, aes(x = body, y = brain)) +
geom_point(alpha = 0.6) +
stat_smooth(
method = "lm",
color = "red",
se = FALSE
)
Applicare una trasformazione logaritmica a entrambe le variabili consente un adattamento migliore.
Quindi, anche se siamo partiti da un grafico esplorativo grezzo, ci ha informati sui dati e ci ha portato a un risultato significativo.
Grafici di Anscombe
Quando immaginiamo un modello lineare, come presentato in questo grafico anonimo, pensiamo di descrivere dati che assomigliano a questo.
Ma lo stesso modello potrebbe descrivere un insieme di dati molto diverso, ad esempio una relazione parabolica, che richiede un modello differente.
Oppure dati in cui un valore estremo ha un grande effetto, cosa che diventa evidente quando si rimuove l'outlier.
E a volte il modello può descrivere una relazione dove, in realtà, non ce n'è affatto perché alcuni valori estremi possono essere errati.
Se ci affidassimo solo ai risultati numerici senza tracciare i dati, ci perderemmo tendenze sottostanti distinte e interessanti.
Vediamo quindi che la visualizzazione dei dati affonda le radici nella statistica e nell'analisi grafica dei dati, ma è anche un processo creativo che implica una certa dose di tentativi ed errori.
Esempio interattivo
Nel seguente esempio, prima caricherai il pacchetto ggplot2 usando library(). Poi userai str() per esplorare la struttura del dataset mtcars.
Infine, visualizzerai il grafico con ggplot e cercherai di capire cosa fa ggplot con i dati.
Userai il dataset mtcars, che contiene informazioni su 32 auto tratte da un numero del 1973 della rivista Motor Trend. Questo dataset è piccolo, intuitivo e contiene una varietà di variabili continue e categoriche.
# Load the ggplot2 package
library(ggplot2)
# Explore the mtcars data frame with str()
str(mtcars)
# Execute the following command
p <- ggplot(mtcars, aes(cyl, mpg)) +
geom_point()
Eseguendo il codice sopra, si ottiene il seguente risultato:
Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.