计算geom_hline / _vline中构面数量的最佳方法

时间:2017-08-11 19:39:48

标签: r ggplot2

当我将geom_vline()facet_grid()结合使用时:

DATA <- data.frame(x = 1:6,y = 1:6, f = rep(letters[1:2],3))
ggplot(DATA,aes(x = x,y = y)) +
    geom_point() +
    facet_grid(f~.) +
    geom_vline(xintercept = 2:3,
               colour =c("goldenrod3","dodgerblue3"))

我收到一条说明Error: Aesthetics must be either length 1 or the same as the data (4): colour的错误消息,因为每个方面有两行,并且有两个方面。解决这个问题的一种方法是使用rep(c("goldenrod3","dodgerblue3"),2),但这要求每次更改刻面变量时,我还必须计算刻面数并替换幻数(2)。调用rep(),这使得重新使用ggplot代码变得不那么灵活。

有没有办法直接从ggplot获取facet的数量,以便在这种情况下使用?

0 个答案:

没有答案