Come creare istogrammi per gruppo in ggplot2 (con esempio)
Puoi utilizzare la seguente sintassi di base per creare un istogramma a livello di gruppo in ggplot2:
ggplot(df, aes(x=values_var, fill=group_var)) + geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') + scale_fill_manual(values=c(' red ', ' blue ', ' purple '))
Questo particolare esempio crea un grafico con tre istogrammi sovrapposti di rosso, blu e viola.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: crea un istogramma per gruppo in ggplot2
Supponiamo di avere il seguente frame di dati in R che contiene informazioni sui punti segnati dai giocatori di basket di tre squadre diverse:
#make this example reproducible
set. seeds (1)
#create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each=100),
points=c(rnorm(100, mean=10),
rnorm(100, mean=15),
rnorm(100, mean=20)))
#view head of data frame
head(df)
team points
1 A 9.373546
2 A 10.183643
3 A 9.164371
4 A 11.595281
5 A 10.329508
6 A 9.179532
Possiamo utilizzare il seguente codice per creare istogrammi che mostrano la distribuzione dei punti segnati da ciascuna delle tre squadre:
library (ggplot2)
#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
scale_fill_manual(values=c(' red ', ' blue ', ' purple '))
I tre istogrammi rappresentano la distribuzione dei punti segnati dai giocatori di ciascuna squadra.
La legenda sul lato destro della trama mostra quale colore corrisponde a ciascuna squadra.
Tieni presente che l’argomento color specifica il colore del contorno delle barre in ciascun istogramma e l’argomento alpha specifica la trasparenza (tra 0 e 1) da utilizzare per le barre.
Impostando il valore alfa su un valore inferiore a 1, possiamo vedere le barre sovrapposte tra gli istogrammi.
Sentiti libero di utilizzare la funzione labs() per modificare le etichette nella trama e scegliere un tema ggplot2 adatto al tuo stile:
library (ggplot2)
#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
scale_fill_manual(values=c(' red ', ' blue ', ' purple ')) +
labs(fill=' Team ', x=' Points Scored ', y=' Count ', title=' Points Scored by Team ') +
theme_classic()
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in R:
Come creare un istogramma di frequenza relativo in R
Come tracciare più boxplot in un singolo grafico in R
Come tracciare più linee in un grafico in R