这个问题源于前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个美学元素.但是,如果像p3那样删除group美学,则不会绘制线条.

问题是:当x轴变量是一个因子时,为什么需要group美学,而当x轴变量是数字变量时,为什么不需要group美学?

在此处输入图像描述

推荐答案

Hadley himself的话来说:

重要的是手动指定分组.通过

实际上,你可以用非常不同的方式对这些点进行分组

R相关问答推荐

pivot_longer:names_to和names_pattern

计算转换的次数

使用facet_wrap()时如何将面板标题转换为脚注?

按崩溃类别分类的指数

使用spatVector裁剪网格数据时出现的问题

使用对管道内单元格的引用生成新变量

在R底座中更改白天和夜晚的背景 colored颜色

为什么当我try 在收件箱中使用合并功能时会出现回收错误?

警告:lmdif:info = 0. nls. lm()函数的输入参数不正确

计算具有奇数日期的运行金额

从外部文件读取多个值作为字符向量

有没有办法使用ggText,<;Sub>;&;<;sup>;将上标和下标添加到同一元素?

派生程序包| ;无法检索';return()';的正文

减go R中列表的所有唯一元素对

如何在ggplot2中创建多个y轴(每个变量一个)

如何使用FormC使简单算术运算得到的数字是正确的?

如何在R中使用混合GAM模型只对固定的影响因素进行适当的预测?

如何提取R中其他字符串和数字之间的字符串?

使用ifElse语句在ggploy中设置aes y值

以任意顺序提取具有多个可能匹配项的组匹配项