2017-03-29 4 views
3

막 대형 막 대형 차트를 만들려고합니다. 이를 달성하기 위해 변수 선택에 따라 색상을 설정했습니다. 그것이 사실 일 때 하숙인은 검은 색이고, 그렇지 않으면 투명합니다.누적 막 대형 차트의 테두리가 막 대형으로 채워져 있습니다.

문제 : 첫 번째 막대에 경계선이 있으면 경계선의 오른쪽 가장자리가 두 번째 막대로 오버플로됩니다. 하숙인을 그릴 내가 채우기와 바 이후 국경을 그려, 그것을 해결하기 위해 노력

#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 

Problem

= 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 

Problem fix

모든 아이디어를 어떻게이 문제를 해결하려면?

+0

두 번째'geom_bar'에'group = Var1'을 추가하면 올바르게 쌓일 수 있습니다. – aosmith

+0

이렇게하면 문제가 해결됩니다. 고마워요! 답변을 쓸 수 있습니까? 그런 다음 질문을 해결 된 것으로 표시합니다. – Martin

답변

2

지도 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() 
관련 문제