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() 

trame di violino orizzontali in ggplot2

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 ) 

trama di violino in ggplot2

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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *