我正在尝试制作一个堆积的条形图,其中一些条形图被寄予厚望,而另一些则没有。为此,我根据选择的变量设置颜色。如果为真,则边界为黑色,否则为透明。
问题:当第一个栏有一个边界时,该边界的右边缘被第二个栏所覆盖。
这是我的代码和问题的图片:
#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
任何想法如何解决这一问题?
映射Var1
到group
美学,将事物叠放在第二个geom_bar
。
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, group = Var1), fill = NA, size = 3)+
coord_flip()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句