Я пытаюсь сделать что-то вроде https://stackoverflow.com/a/29649406/15485, но получаю сообщение об ошибке
Ошибка: Эстетика должна быть либо длиной 1, либо такой же, как данные (2): xmin, xmax, ymin, ymax, x, y
Что означает «(2)»?
О какой «эстетике» идет речь? У меня есть aes
в ggplot
и aes
в geom_rect
, но я понятия не имею, как их исправить... Боюсь, я никогда не пойму 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 показывает, почему. - person Axeman   schedule 15.09.2017