【发布时间】:2012-05-08 14:57:05
【问题描述】:
这个问题来自之前的question and its answers.
首先是一些玩具数据:
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)
最初的问题询问如何为每所学校绘制价值年线。答案或多或少对应于下面的 p1 和 p2。但也要考虑p3。
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())
p1 和 p2 都可以完成这项工作。 p1 和 p2 之间的区别在于 p1 将 Year 视为数字,而 p2 将 Year 视为一个因素。此外,p2 在geom_line 中包含group 美学。但是,当group 美学在 p3 中被删除时,线条不会被绘制。
问题是:为什么当 x 轴变量是一个因素时group 美学是必要的,而当 x 轴变量是数字时不需要group 美学?
【问题讨论】: