我正在尝试基于布尔值有条件地设置 aes 映射。这是我正在尝试做的事情:
mydata <- data.frame(x=1:10,
y=runif(10),
categoryShort=LETTERS[1:2],
categoryLong=LETTERS[1:5])
mybool <- TRUE
myaes <- aes(x=x, y=y,
colour=ifelse(mybool, factor(categoryShort), factor(categoryLong)))
ggplot(mydata, myaes) + geom_point()
它忽略了颜色并搞砸了整个传说。
我尝试使用 aes_string,但遇到了同样的问题:
aes_string(x="x", y="y",
colour=factor(ifelse(mybool, "categoryShort", "categoryLong")))