Vai al contenuto principale

Grafici con ggplot2 Tutorial

La visualizzazione dei dati è una competenza essenziale per i data scientist. Combina statistica e design in modi significativi e appropriati.
Aggiornato 29 set 2026  · 6 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

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.

diagramma di Venn della data visualization

È 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 sulla visualizzazione per data scientist

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()
diagramma a dispersione

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
  )
modello lineare su diagramma a dispersione

Applicare una trasformazione logaritmica a entrambe le variabili consente un adattamento migliore.

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point(alpha = 0.6) +
  coord_fixed() +
  scale_x_log10() +
  scale_y_log10() +
  stat_smooth(
    method = "lm",
    color = "#C42126",
    se = FALSE,
    size = 1
  )
trasformazione logaritmica su dispersione lineare

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.

modello lineare su grafico anonimo

Ma lo stesso modello potrebbe descrivere un insieme di dati molto diverso, ad esempio una relazione parabolica, che richiede un modello differente.

grafico di relazione parabolica

Oppure dati in cui un valore estremo ha un grande effetto, cosa che diventa evidente quando si rimuove l'outlier.

outlier rimosso su grafico lineare

E a volte il modello può descrivere una relazione dove, in realtà, non ce n'è affatto perché alcuni valori estremi possono essere errati.

valori estremi errati su grafico lineare

Se ci affidassimo solo ai risultati numerici senza tracciare i dati, ci perderemmo tendenze sottostanti distinte e interessanti.

tendenze nei grafici lineari

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:

data.frame':    32 obs. of  11 variables:
 $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
 $ disp: num  160 160 108 258 360 ...
 $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
 $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
 $ qsec: num  16.5 17 18.6 19.4 17 ...
 $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
 $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
 $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
grafico ggplot

Per saperne di più sulla visualizzazione dei dati con ggplot, guarda questo video del nostro corso Introduzione alla visualizzazione dei dati con ggplot2. Inoltre, tieni a portata di mano il nostro ggplot2 Cheat Sheet come riferimento pratico. 

Questo contenuto è tratto dal corso Introduzione alla visualizzazione dei dati con ggplot2 di DataCamp, a cura di Rick Scavetta.

Argomenti
R
Data Science

Corsi correlati

Corso

Visualizzazione dei dati intermedia con ggplot2

4 ore
57.6K
Impara a usare le sfaccettature, i sistemi di coordinate e le statistiche in ggplot2 per creare grafici esplicativi che abbiano senso.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

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.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro