So erstellen sie einen violinplot in ggplot2 (mit beispielen)


Sie können die folgenden Methoden verwenden, um einen Geigenplot in ggplot2 zu erstellen:

Methode 1: Geigenplots nach Gruppen erstellen

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

Methode 2: Erstellen Sie horizontale Geigenpfade nach Gruppen

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

Methode 3: Erstellen Sie Violindiagramme nach Gruppen und zeigen Sie den Medianwert an

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

Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Datenrahmen in R verwendet wird:

 #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

Hinweis : Wir haben die Funktion set.seed() verwendet, um sicherzustellen, dass dieses Beispiel reproduzierbar ist.

Beispiel 1: Geigendurchzeichnungen nach Gruppe erstellen

Wir können die folgende Syntax verwenden, um Geigendiagramme zu erstellen, die die Verteilung der Punktevariablen , gruppiert nach der Teamvariablen , zeigen:

 library (ggplot2)

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

Die x-Achse zeigt jedes Team und die y-Achse zeigt die Verteilung der von jedem Team erzielten Punkte.

Beispiel 2: Geigenspuren nach Gruppe erstellen

Um horizontale Geigendiagramme zu erstellen, die die Verteilung der Punktevariablen gruppiert nach der Teamvariablen zeigen, fügen Sie einfach die Funktion coord_flip() hinzu:

 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 Violinplots in ggplot2

Die y-Achse zeigt jedes Team und die x-Achse zeigt die Verteilung der von jedem Team erzielten Punkte.

Beispiel 3: Geigendiagramme nach Gruppen erstellen und den Medianwert anzeigen

Der folgende Code zeigt, wie Violindiagramme erstellt werden, die die Verteilung der Punktevariablen , gruppiert nach der Teamvariablen , zeigen, wobei der mittlere Punktwert durch einen Kreis dargestellt wird:

 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 ) 

Geigenplot in ggplot2

Der mittlere Punktwert für jedes Team wird durch einen kleinen Kreis innerhalb jedes Geigendiagramms dargestellt.

Hinweis : Um den Kreis zu vergrößern, erhöhen Sie einfach den Wert des Größenarguments in der Funktion stat_summary() .

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in ggplot2 ausführen:

So ändern Sie die Schriftgröße in ggplot2
So entfernen Sie eine Legende in ggplot2
So drehen Sie Achsenbeschriftungen in ggplot2

Einen Kommentar hinzufügen

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