Ich zeichne ein Liniendiagramm in ggplot. Jede Zeile entspricht einer Person und deren Entwicklung im Laufe der Zeit. Ich möchte eine Violine hinzufügen bei x = 11ggplot: Geige zu einem Liniendiagramm hinzufügen
die Gesamtverteilung der Werte auf dem y dargestellt zeigen: Ein vereinfachte, reproduzierbares Beispiel:
dat <- data.frame(x=rep(1:10, 10), y=rnorm(100), person=rep(LETTERS[1:10], each=10))
ggplot(dat, aes(x, y, group=person)) + geom_line(aes(color=person))
Welche produziert -Achse.
Wenn ich einen + geom_violin()
zum ggplot Aufruf hinzufüge, wird eine Geige bei jedem Wert von x gezeichnet (was Sinn macht). Aber was ich will ist, die Geige hinzuzufügen, die ich mit ggplot(dat, aes(x, y)) + geom_violin()
bekommen würde.
Wie kombiniere ich diese beiden geom_
s in einem einzigen Diagramm, um einen vollständigen Überblick über meine Daten zu geben?
EDIT: Ich habe es mit geom_errorbar
zu arbeiten, aber nicht mit einer Geige etwas ähnliches zu arbeiten:
ggplot(dat, aes(x, y, group=person)) + geom_line(aes(color=person)) +
geom_errorbar(aes(x=11, ymax=mean(dat$y)+sd(dat$y), ymin=mean(dat$y)-sd(dat$y))) +
geom_point(aes(x=11, y=mean(dat$y)), size=4)
Welche gibt mir diese:
Im Idealfall würde ich eine Violine anstelle der Fehlerbalken wünschen, um die Verteilung besser widerzuspiegeln.
Und gibt es eine Möglichkeit, dass ich diese Geige bei x = 11 zeigen kann, anstatt den ganzen Graphen zu überspannen? Im Idealfall möchte ich, dass es zwischen den Zeilen und der Legende angezeigt wird. – Florian
Siehe meine Bearbeitung im OP zur Klarstellung. – Florian
@Florian das Update sehen – Jaap