我想用facet_grid
为用于刻面的变量组合绘制不平衡观察值,例如
dat <- data.frame(x = 1:6,
y = 0:5,
group = rep(c("A", "B"), each = 3),
var = rep(c("a", "a", "b"), times = 2))
> dat
group var x y
1 A a 1 0
2 A a 2 1
3 A b 3 2
4 B a 4 3
5 B a 5 4
6 B b 6 5
..并添加geom_rect
,每个方面应该相同。
ggplot(dat) +
geom_rect(xmin = -Inf, xmax = Inf, ymin = -Inf, ymax = 3, fill = "red", alpha = .3) +
geom_point(aes(x = x, y = y)) +
facet_grid(group~var)
但似乎有几个geom_rect
被绘制在彼此之上,即使我根本没有使用aes()
。我怎样才能防止它们在每个方面看起来一样?
答案 0 :(得分:4)
由于您并未真正使用数据来绘制rects,因此您应该稍后使用annotate
,因此它与数据或方面无关。例如
ggplot(dat) +
annotate("rect", xmin = -Inf, xmax = Inf, ymin = -Inf, ymax = 3, fill = "red", alpha = .3) +
geom_point(aes(x = x, y = y)) +
facet_grid(group~var)
答案 1 :(得分:1)