【发布时间】:2019-06-10 10:42:59
【问题描述】:
我正在尝试在 R 中生成一个双因子实验的图形。这包含三个级别,每个级别都有两个子级别。我想对这些组中的每一个进行注释,但找不到合理的方法。
这是一个为顶层生成注释的示例:
ggplot(mtcars, aes(x = as.factor(cyl), y = mpg)) +
geom_point(aes(colour = as.factor(am)), position = position_dodge(0.5)) +
annotate("text", x = 1:3, y = c(37, 25, 22),
label = c("a", "b", "c"))
我真正想做的是注释“am”的每个级别。
这是我的天真尝试:
ggplot(mtcars, aes(x = as.factor(cyl), y = mpg)) +
geom_point(aes(colour = as.factor(am)), position = position_dodge(0.5)) +
annotate("text", x = 1:6, y = c(27, 37, 25, 25, 22, 17),
label = c("a", "b", "c", "d", "e", "f"), position = position_dodge(0.5))
> Error: Unequal parameter lengths: x (6), y (6), label (6), position (3)
我尝试改变 x、y 和标签的数量。我怀疑答案在于为注释分配“am”级别,但我不知道该怎么做。谁有可行的解决方案?
【问题讨论】: