2017-02-07 11 views
1

したがって、グラフの塗りつぶしを4番目の変数で塗りつぶすggplot2で棒グラフを作成しようとしています。4番目の変数による棒グラフによる色付け

私がやろうとしています何
df = data.frame(c(1,1,2,2,3), c("A","B","C","D","E"), c(1:5/4), c("Y", "N", "Y", "N", "N")) 
names(df)[1:4] <- paste("var", 1:4, sep = "") 
df$var1 <- as.factor(df$var1) 
df$var2 <- as.factor(df$var2) 
df$var4 <- as.factor(df$var4) 
ggplot(df, aes(x = var1, y = var3, fill = var2)) + facet_wrap(~var1, scale = "free") + 
    geom_bar(position = "dodge", colour = "black", stat = "identity") + 
    scale_fill_brewer(palette = "Set1") + scale_y_continuous(labels = scales::percent) 

var4に対応する棒グラフに表示色を設定し、まだvar2でグラフをファセットされます。私はgeom_barの部分にaes(fill = var4)を入れようとしましたが、それは私に欲しい結果を与えませんでした。

また、文字や数字のvar3に基づいて変更されているように見える、お互いに積み重なったバーに問題があります。これを文脈に入れるには、var1は質問ID、var2は回答ID、var3は百分率、var4は答えが正しいかどうかです。

+0

あなたはこのような何かをしたいですか?geom_bar(position = "dodge"、color = "black"、stat = "dodge" "identity")+ scale_fill_brewer(palette = "Set1")+ scale_y_continuous(labels = scales :: percent) '? –

+1

これは私が探しているものです。ありがとう、私はfacet_wrap部分でそれを変更すべきであることを知らなかった。 – Benji

+0

私も答えとして投稿しました。 –

答えて

0

このようなものが欲しいですか?

ggplot(df, aes(x = var2, y = var3, fill=var4)) + facet_wrap(~var1, scale = "free") + 
    geom_bar(position = "dodge", colour = "black", stat = "identity") + 
    scale_fill_brewer(palette = "Set1") + scale_y_continuous(labels = scales::percent) 

enter image description here

関連する問題