2016-05-31 2 views
3

enter image description here ggplot2를 사용하여 그래프 누적 영역에 쌓인 순서를 반대로합니다,하지만 난 내 결과는 책에서 다르다 (R 그래픽 요리 책 그림 4-22) 발견는 어떻게 ggplot2를 사용하여 스택 영역 그래프를 플롯 할

library(plyr)

ggplot(uspopage, aes(x=Year, y=Thousands, fill=AgeGroup, order=desc(AgeGroup))) + geom_area(colour="black", size=.2, alpha=.4) + scale_fill_brewer(palette="Blues")

적층 순서

library(gcookbook)

은 반전 될 수있다 (북에서, "> 64"아래에 있어야한다). 이 과정에서 잘못된 점이 있습니까?

+1

'ggplot2' 버전은 2.1.0 버전으로는 알지 못합니다. "주문 심미가 공식적으로 권장되지 않습니다. 실제로 작동하지 않았으며 은 제대로 문서화되지 않았습니다." https://github.com/hadley/ggplot2/releases – bVa

+1

실제 데이터 프레임 인 'uspopage'의 순서를 변경하십시오. 범례의 재정렬을 원하면 레벨 순서를 바꿀 수 있습니다. – joran

+2

'uspopage $ AgeGroup = factor (uspopage $ AgeGroup, levels = rev (levels (uspopage $ AgeGroup)))' – Gregor

답변

2

adhoc 방식은 데이터를 재정렬하는 것입니다. 대신 당신이

AgeGroup 
>64  
55-64 
45-54 

을 원하는

AgeGroup 
     <5  
    5-14  
    15-24 

의 그래서 당신은 마지막 요소를 가지고 처음에 넣어 수 2 위의 두 번째 마지막 요소는 ... c("A", "B", "C", "D")[4:1]와 비슷한 뭔가 때 일어난다

swap <- uspopage[nrow(uspopage):1,] 
ggplot(swap, aes(x=Year, y=Thousands, fill=AgeGroup, order=desc(AgeGroup))) + 
geom_area(colour="black", size=.2, alpha=.4) + scale_fill_brewer(palette="Blues") 

2016년 6월 2일를 사용 : 나는 코멘트에 요청 이후 약간의 설명을했다.

+0

잘 작동했습니다. 하지만 그걸 설명 할 수 있니? –

관련 문제