2011-08-11 15 views
7

ggplot2のファセットから未使用の要素を削除するためのきれいな方法を見つけようとしています。ここでは、最小限の例では、以下のプロットからggplot2のファセットから未使用の要素を削除する

# DUMMY DATA 
mydf = data.frame(
    x = rpois(6, 25), 
    y = LETTERS[1:6], 
    cat = c(rep('AA', 3), rep('BB', 3))) 

# PLOT IT! 
p0 = ggplot(mydf, aes(x = x, y = y)) + 
    geom_point() + 
    facet_wrap(~ cat, ncol = 1) 

で、あなたが要因D、EおよびFは、該当するデータが存在しないという事実にもかかわらず、ファセットAAにプロットされていることがわかります。私が望むのは、{D、E、F}をファセットAAから、そして同様に{A、B、C}をファセットBBから排除する方法です。

これを行うためのきちんとした方法がありますか、またはハックさえ受け入れることができます。

enter image description here

答えて

11

私はあなたが必要とするすべてはscales = "free_y"だと思う:

p0 = ggplot(mydf, aes(x = x, y = y)) + 
    geom_point() + 
    facet_wrap(~ cat, ncol = 1,scales = "free_y") 

p0 

enter image description here

+0

素晴らしいもの。 「スケール=フリー」がうまくいかない場合、ファセットや垂直の覆いを付けるケースである問題全体を投稿したはずです。私はそれを別の質問にします。ありがとう – Ramnath

関連する問題