3
棒グラフを作成しようとしています。これを達成するために、変数chooseに応じて色を設定します。それが本当であれば、境界は黒く、そうでなければ透明です。棒グラフの枠線が棒で上書きされています
問題:最初のバーにボーダーがある場合、ボーダーの右端が2番目のバーで上書きされます。ここで
は私のコードと問題の画像です:
#Sample Data
Var1 <- rep(c("A1","A2"),4)
Var2 <- c("Q1","Q1","Q2","Q2","Q3","Q3","Q4","Q4")
Freq <- c(4,2,6,2,6,4,9,3)
choose <- c(F,F,T,F,F,T,F,T)
df <- as.data.frame(cbind(Var1,Var2, Freq,choose))
g<- ggplot(df, aes(x=factor(Var2), y=Freq))+
geom_bar(stat="identity", aes(fill = Var1, color = choose), size = 3) +
scale_color_manual(values = c('FALSE' = 'transparent', 'TRUE' = 'black'))+
coord_flip()
g
私は、これはボーダーを描画し、塗りつぶし= NAとバー後にボーダーを描画することによって、それを修正しようとしましたバーの上にあるが、正しい位置にはない。
g<- ggplot(df, aes(x=factor(Var2), y=Freq))+
scale_color_manual(values = c('FALSE' = 'transparent', 'TRUE' = 'black'))+
geom_bar(stat="identity", aes(fill = Var1))+
geom_bar(stat="identity", aes(color = choose), fill = NA, size = 3)+
coord_flip()
g
任意のアイデアはどのようにこの問題を解決するには?
2番目の 'geom_bar'に' group = Var1'を追加すると、正しくスタックされます。 – aosmith
これは問題を解決します。どうもありがとうございました!あなたは答えを書くことができますか?それから、問題を解決済みとしてマークします。 – Martin