2017-02-28 28 views
2

ファセットに使用される変数の組み合わせについてアンバランスな観測値を持つfacet_gridをプロットしたいと思います。ファセットでのgeom_rectの使用

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) 

enter image description here

しかし、いくつかのgeom_rect sは、私は全くaes()を使用していないにも関わらず、互いの上にプロットされているかのように思えます。どのように私はそれが各面で同じように見えるようにすることができますか?

+1

@Axemanああおかげで、コピー&間違った行を貼り付けました。) – beetroot

答えて

4

実際に矩形をプロットするためのデータを使用していないので、後で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

geom_raster層への供給データ:

ggplot(dat) + 
    geom_rect(aes_all(vars = c('xmin', 'xmax', 'ymin', 'ymax')), fill = "red", alpha = .3, 
      data.frame(xmin = -Inf, xmax = Inf, ymin = -Inf, ymax = 3)) + 
    geom_point(aes(x = x, y = y)) + 
    facet_grid(group~var) 

enter image description here

関連する問題