我正在尝试类似于https://dev59.com/cl0b5IYBdhLWcg3wENmK#29649406的东西,但是我遇到了错误:
错误:美学必须是长度为1或与数据相同(2): xmin,xmax,ymin,ymax,x,y
'(2)'是什么意思?
都涉及哪些“美学”?我在ggplot
和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 的示例解释了原因。 - Axeman