Zeichnen von Linien und der Gruppenästhetik in ggplot2
Diese Frage knüpft an eine frühere anFrage und ihre Antworten.
Zuerst einige Spielzeugdaten:
<code>df = read.table(text = "School Year Value A 1998 5 B 1999 10 C 2000 15 A 2000 7 B 2001 15 C 2002 20", sep = "", header = TRUE) </code>
In der ursprünglichen Frage wurde gefragt, wie Wert-Jahres-Linien für jede Schule geplottet werden sollen. Die Antworten entsprechen mehr oder weniger p1 und p2 unten. Beachten Sie aber auch p3.
<code>library(ggplot2) (p1 <- ggplot(data = df, aes(x = Year, y = Value, colour = School)) + geom_line() + geom_point()) (p2 <- ggplot(data = df, aes(x = factor(Year), y = Value, colour = School)) + geom_line(aes(group = School)) + geom_point()) (p3 <- ggplot(data = df, aes(x = factor(Year), y = Value, colour = School)) + geom_line() + geom_point()) </code>
Sowohl p1 als auch p2 machen den Job. Der Unterschied zwischen p1 und p2 besteht darin, dass p1 behandeltYear
als numerisch, wohingegen p2 behandeltYear
als Faktor. Auch p2 enthält agroup
ästhetisch ingeom_line
. Aber wenn diegroup
Ästhetik entfällt wie in p3, die Linien werden nicht gezeichnet.
Die Frage ist: Warum ist das so?group
ästhetisch notwendig, wenn die x-Achsenvariable ein Faktor ist, aber diegroup
Ästhetik wird nicht benötigt, wenn die Variable der x-Achse numerisch ist?