2017-07-07 15 views
1

私はこのプロット追加ラベル

dat = data.frame(group = c("A","A","B","B"), pct = c(.2,.3,.5,.4), subgroup = c("D","E","D","E"), x = c("Z","Z","Z","Z")) 


ggplot(data = dat, aes(x = factor(x), y =pct, fill= subgroup))+geom_bar(position = "stack", stat = "identity")+facet_wrap(~group) 

を持っていると私は私がlableデータフレームを構築するように、2つの成分の和である各スタックZの上にラベルを追加したいと

LABEL = data.frame(x = c("Z","Z"), y = c(.5,.9), group = c("A","B")) 
    ggplot(data = dat, aes(x = factor(x), y =pct, fill= subgroup))+geom_bar(position = "stack", stat = "identity")+facet_wrap(~group)+geom_text(aes(x= x,y=y ,label=labs), data = LABEL, vjust=-.2, size = 3) 

が、サブグループがデータフレームではないので、私はエラーを取得する

: object 'subgroup' not found 

に私はサブをしたくない:geom_text使用私がプロットしているラベルのようなデータフレームのグループは、各サブグループの合計のためのものです。

上記の例では、ファセットごとに1つのスタックバーがありますが、ソリューションはファセットプロットごとに任意の数のスタックバーで機能するはずです。

+0

'geom_text'で' inherit.aes = FALSE'を試してください。あるいは、グローバルな 'ggplot'から' fill'を削除してください。 – aosmith

+0

それはうまくいかないようです。コードを投稿することができますか? – user3022875

答えて

2

これは必要なものですか?

dat = data.frame(group = c("A","A","B","B"), 
       pct = c(.2,.3,.5,.4), 
       subgroup = c("D","E","D","E"), 
       x = c("Z","Z","Z","Z")) 

LABEL = data.frame(x = c("Z","Z"), 
        y = c(.5,.9), 
        group = c("A","B")) 

ggplot(data = dat, aes(x = factor(x), y =pct)) + 
    geom_bar(aes(fill= subgroup), position = "stack", stat = "identity") + 
    facet_wrap(~group) + 
    geom_text(aes(x= x,y=y ,label=y), data = LABEL, vjust=-.2, size = 3) 
関連する問題