Come creare un grafico per violino in ggplot2 (con esempi)
Puoi utilizzare i seguenti metodi per creare una trama di violino in ggplot2:
Metodo 1: crea trame di violino per gruppo
ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) +
geom_violin() +
Metodo 2: crea percorsi di violino orizzontali per gruppo
ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) +
geom_violin() +
coordinate_flip()
Metodo 3: crea grafici di violino per gruppo e mostra il valore mediano
ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) +
geom_violin() +
stat_summary(fun=median, geom=' point ', size= 2 )
I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati in R:
#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
Nota : abbiamo utilizzato la funzione set.seed() per garantire che questo esempio sia riproducibile.
Esempio 1: crea tracce di violino per gruppo
Possiamo utilizzare la seguente sintassi per creare grafici di violino che mostrano la distribuzione della variabile punti , raggruppata per la variabile squadra :
library (ggplot2)
#create violin plot to visualize distribution of points by team
ggplot(df, aes(x=team, y=points, fill=team)) +
geom_violin()
L’asse x mostra ciascuna squadra e l’asse y mostra la distribuzione dei punti segnati da ciascuna squadra.
Esempio 2: creare tracce di violino per gruppo
Per creare grafici di violino orizzontali che mostrino la distribuzione della variabile points , raggruppata per la variabile team , aggiungi semplicemente la funzione coord_flip() :
library (ggplot2)
#create horizontal violin plots to visualize distribution of points by team
ggplot(df, aes(x=team, y=points, fill=team)) +
geom_violin() +
coordinate_flip()
L’asse Y mostra ciascuna squadra e l’asse X mostra la distribuzione dei punti segnati da ciascuna squadra.
Esempio 3: crea grafici di violino per gruppo e visualizza il valore mediano
Il codice seguente mostra come creare grafici di violino che mostrano la distribuzione della variabile points , raggruppata in base alla variabile team , con il valore mediano dei punti rappresentato da un cerchio:
library (ggplot2)
#create violin plots and display median points value as circle
ggplot(df, aes(x=team, y=points, fill=team)) +
geom_violin() +
stat_summary(fun=median, geom=' point ', size= 2 )
Il valore medio dei punti per ciascuna squadra è rappresentato da un piccolo cerchio all’interno di ciascun diagramma di violino.
Nota : per aumentare la dimensione del cerchio, aumenta semplicemente il valore dell’argomento size nella funzione stat_summary() .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in ggplot2:
Come cambiare la dimensione del carattere in ggplot2
Come rimuovere una legenda in ggplot2
Come ruotare le etichette degli assi in ggplot2