0
Я хочу сделать так, как объяснил here, принятый ответ по какой-то причине не работает для меня.Несколько строк в графике дают ошибку, ggplot2
library("ggplot2")
tmp <- data.frame(x=rep(seq(as.Date(0, origin="1970-01-01"),
length=36, by="1 month"), 2),
y=rnorm(72),
category=gl(2,36))
p <- ggplot(tmp, aes(x, y, colour=category)) +
geom_line() +
geom_vline(aes(xintercept=as.numeric(x[c(13, 24)])),
linetype=4, colour="black")
print(p)
Я обменялся слои (геом = "линии") с geom_line(), чтобы получить только сюжет работает. Однако, при добавлении vlines я получаю эту ошибку:
Error: Aesthetics must be either length 1 or the same as the data (72): xintercept
10: stop("Aesthetics must be either length 1 or the same as the data (",
n, "): ", paste(names(!good), collapse = ", "), call. = FALSE)
9: check_aesthetics(evaled, n)
8: f(..., self = self)
7: l$compute_aesthetics(d, plot)
6: f(l = layers[[i]], d = data[[i]])
5: by_layer(function(l, d) l$compute_aesthetics(d, plot))
4: ggplot_build(x)
3: print.ggplot(p)
2: print(p)
1: print(p)
Perfect. Благодарю. – johnblund