Een vioolplot maken in ggplot2 (met voorbeelden)


U kunt de volgende methoden gebruiken om een vioolplot in ggplot2 te maken:

Methode 1: vioolplots per groep maken

 ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) + 
  geom_violin() +

Methode 2: Maak horizontale vioolpaden per groep

 ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) + 
  geom_violin() +
  coordinate_flip()

Methode 3: Maak vioolplots per groep en toon de mediaanwaarde

 ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) + 
  geom_violin() +
  stat_summary(fun=median, geom=' point ', size= 2 )

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met het volgende dataframe 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

Opmerking : we hebben de functie set.seed() gebruikt om ervoor te zorgen dat dit voorbeeld reproduceerbaar is.

Voorbeeld 1: Maak viooltraces per groep

We kunnen de volgende syntaxis gebruiken om vioolplots te maken die de verdeling van de puntenvariabele weergeven, gegroepeerd op de teamvariabele :

 library (ggplot2)

#create violin plot to visualize distribution of points by team
ggplot(df, aes(x=team, y=points, fill=team)) + 
  geom_violin() 

Op de x-as wordt elk team weergegeven en op de y-as wordt de verdeling van de door elk team gescoorde punten weergegeven.

Voorbeeld 2: Vioolsporen maken per groep

Om horizontale vioolplots te maken die de verdeling van de puntenvariabele weergeven, gegroepeerd op de teamvariabele , voegt u eenvoudigweg de functie coord_flip() toe:

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

horizontale vioolplots in ggplot2

Op de y-as wordt elk team weergegeven en op de x-as wordt de verdeling van de punten weergegeven die door elk team zijn gescoord.

Voorbeeld 3: Maak vioolplots per groep en geef de mediaanwaarde weer

De volgende code laat zien hoe u vioolplots maakt die de verdeling van de puntenvariabele weergeven, gegroepeerd op de teamvariabele , waarbij de gemiddelde puntenwaarde wordt weergegeven door een cirkel:

 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 ) 

vioolplot in ggplot2

De gemiddelde puntenwaarde voor elk team wordt weergegeven door een kleine cirkel binnen elk viooldiagram.

Opmerking : om de grootte van de cirkel te vergroten, verhoogt u eenvoudigweg de waarde van het argument size in de functie stat_summary() .

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in ggplot2 kunt uitvoeren:

Hoe de lettergrootte in ggplot2 te veranderen
Hoe een legenda in ggplot2 te verwijderen
Hoe aslabels te roteren in ggplot2

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert