Indice
Grafici a dispersione (scatterplot)
Per una introduzione a questo tipo di grafico, vedi: Grafico a dispersione.
I grafici a dispersione si ottengono con geom_point
, che richiede l'indicazione di due variabili in aes(x, y)
:
library(tidyverse) library(carData)
cars %>% ggplot(aes(x = speed, y = dist)) + geom_point()
Usare diversi colori per i punti
Possiamo rappresentare una terza variabile (di raggruppamento), modificando i colori dei punti. Per ottenere un grafico come quello in Scatterplot, scriviamo:
ChickWeight %>% ggplot(aes(Time, weight)) + geom_point(aes(color = Diet)) + labs(title = "Weight by Time", x = "Time", y = "Weight")
Vedi anche: Titoli dei grafici (ggplot2)
Punti: forma, dimensioni, colore
Forma, dimensione e colore dei punti possono derivare dalla mappatura di una variabile, indicandoli in aes()
, oppure essere indicati direttamente in `geom_point()`. Indicandoli ad esempio in aes()
:
cars %>% ggplot(aes(speed, dist)) + geom_point(aes(size = dist, col = speed)) # oppure cars %>% ggplot(aes(speed, dist, size = dist, col = speed)) + geom_point()

In questo modo, evidentemente, è anche possibile creare Grafici a bolle (ggplot).
Nell'esempio che segue, invece, definiamo la dimensione dei punti con una variabile, e scegliamo tipo e colore dei punti direttamente in geom_point()
:
mtcars %>% ggplot(aes(disp, mpg)) + geom_point(aes(size = hp), shape = 21, # simbolo 21 fill = "orange", # colore di riempimento col = "brown") + # colore del bordo labs(x = "Cilindrata", y = "Miglia")

Per alcuni simboli, è possibile indicare sia il colore del riempimento che il colore del bordo (vedi: Parametri grafici: simboli)
Rinominiamo le variabili con `rename()`, e impostiamo aes()
un po' diversamente:
mtcars %>% rename(Cilindrata = disp, Miglia = mpg, Potenza = hp) %>% ggplot(aes(x = Cilindrata, y = Miglia, size = Potenza)) + geom_point(shape = 21, fill = "lightblue", col = "blue")
In questo caso, non sono necessari i titoli.
Vedi:
Script di esempio
E' possibile scaricare ed eseguire lo script dell'esempio:
- nome_file.R
library(tidyverse) library(carData) # scatterplot semplice cars %>% ggplot(aes(x = speed, y = dist)) + geom_point() # terza variabile con colore ChickWeight %>% ggplot(aes(Time, weight)) + geom_point(aes(color = Diet)) + labs(title = "Weight by Time", x = "Time", y = "Weight") # dimensione e colore dei punti cars %>% ggplot(aes(speed, dist)) + geom_point(aes(size = dist, col = speed)) cars %>% ggplot(aes(speed, dist, size = dist, col = speed)) + geom_point() mtcars %>% ggplot(aes(disp, mpg)) + geom_point(aes(size = hp), shape = 21, # simbolo 21 fill = "orange", # colore di riempimento col = "brown") + # colore del bordo labs(x = "Cilindrata", y = "Miglia") mtcars %>% rename(Cilindrata = disp, Miglia = mpg, Potenza = hp) %>% ggplot(aes(x = Cilindrata, y = Miglia, size = Potenza)) + geom_point(shape = 21, fill = "lightblue", col = "blue")