【发布时间】:2018-02-24 11:43:13
【问题描述】:
我正在尝试执行https://stackoverflow.com/a/29649406/15485 之类的操作,但出现错误
错误:美学长度必须为 1 或与数据 (2) 相同: xmin, xmax, ymin, ymax, x, y
“(2)”是什么意思?
涉及哪些“美学”?我在ggplot 中有aes,在geom_rect 中有aes,但我不知道如何纠正它们……恐怕我永远不会掌握ggplot……
days<-rep(Sys.Date(),100)+seq(1,100)
v<-sin(as.numeric(days))
df<-data.frame(days=days,v=v)
shade <- data.frame(x1=c(as.Date('2017-10-15'),as.Date('2017-11-11')),
x2=c(as.Date('2017-10-20'),as.Date('2017-11-13')),
y1=c(-Inf,-Inf), y2=c(Inf,Inf))
library(ggplot2)
plot(ggplot(df,aes(x=days,y=v))
+geom_line()
+geom_rect(data=shade,
mapping=aes(xmin=x1, xmax=x2, ymin=y1, ymax=y2), color='grey', alpha=0.2)
+geom_point())
【问题讨论】:
-
顺便说一句,
(2)表示data的长度当前为 2。也就是说,美学只允许为当前定义的 1 或 2。 @Z.Lin 说明了原因。
标签: r ggplot2 aesthetics