R ggplot将参数输入或输出aes

R ggplot将参数输入或输出aes,r,ggplot2,aes,R,Ggplot2,Aes,我总是对aes()感到困惑。哪一个论点应该放进去,哪一个不应该放进去。有什么原则或经验法则吗?非常感谢 如果参数根据数据集中的变量而变化,它将进入aes()。因此aes(color=group)表示数据集中有一个变量,名为group,并且该变量确定为每个数据点/线分配的颜色等。请注意,您没有使用aes声明所需的颜色,而是告诉它哪个变量定义了要分配相同颜色的观察组。使用scale\u color.*分别拾取颜色-其中*表示此处存在多个选项 如果您直接指定功能(例如,所需的特定形状、颜色、线型、大小

我总是对aes()感到困惑。哪一个论点应该放进去,哪一个不应该放进去。有什么原则或经验法则吗?非常感谢

如果参数根据数据集中的变量而变化,它将进入
aes()
。因此
aes(color=group)
表示数据集中有一个变量,名为
group
,并且该变量确定为每个数据点/线分配的颜色等。请注意,您没有使用aes声明所需的颜色,而是告诉它哪个变量定义了要分配相同颜色的观察组。使用
scale\u color.*
分别拾取颜色-其中*表示此处存在多个选项

如果您直接指定功能(例如,所需的特定形状、颜色、线型、大小等),它不会进入
aes
-因此
color='red'
不会进入
aes
-颜色由您指定,而不是变量)。这可以通过以下代码突出显示:

data <- data.frame(
  x = rnorm(50),
  y = rnorm(50),
  z = LETTERS[1:2][sample(1:2, 50, replace = TRUE)]
)
ggplot(data, aes(x = x, y = y, shape = z)) + # shape is determined by the variable z, so it goes in aes.
  geom_point() + 
  geom_hline(yintercept = c(-1, 1), color = c("blue", "red")) # color is specified directly (1st line blue, 2nd line red), so it does not.

数据通过给出一个你感到困惑的具体例子,你能让你的问题更容易回答吗?
aes()
将数据的值映射到可视化的属性。通常情况下,不需要选择aes()的输入或输出,通常只有一种方法有效。除了下面的答案(这很有用)之外,ggplot2参考页()非常清楚哪些美学参数是必需的,哪些是每个绘图层的可选参数。