2013-04-20 3 views
2

정렬 된 막 대형 차트 (여기에 표시된 것과 비슷 함 : http://flowingdata.com/2008/08/19/3-worthwhile-alternatives-to-the-pie-chart/)를 만들고 싶습니다. 아래 코드를 실행하면 매우 유사한 점이 있지만 바가 정렬되지 않습니다. 가장 높은 빈도를 가진 막대가 차트의 맨 위에 오도록 막대를 어떻게 정렬 할 수 있습니까?정렬 된 막 대형 차트를 작성하는 방법

cat = c("CatA", "CatB", "CatC", "CatB", "CatB", "CatB", "CatB", "CatB", "CatB", "CatB") 
dat = data.frame(Category = cat) 

qplot(factor(Category), data=dat, geom="bar") + 
    geom_bar() + 
    coord_flip() 
+2

팩터 레벨을 주문해야합니다. –

+0

이것은 중복이 아닙니다. 간단한 histogra를 주문하는 방법을 묻습니다. m을 단일 차원의 data.frame과 비교합니다. – Martin

+0

@Martin [sort and chart/plot] (http://trinkerrstuff.wordpress.com/2012/10/15/how-do-i-re-arrange-ordering) 단어를 사용할 때 중복되는 내용입니다. -a-plot /) 당신은 (거의 항상) 요인 수준을 재정렬해야합니다. –

답변

2

당신도 기본 그래픽을 달성 할 수 :

barplot(sort(table(dat)), horiz=TRUE) 
+0

아이디어 sgibb 주셔서 감사합니다! 하지만 gpplot2 차트의 모양과 느낌을 고수해야합니다. – Martin

1

로마는 바로, 당신은 올바른 순서로 당신의 요인 수준을 얻을 필요가있다. 이에

dat$Category <- factor(dat$Category, levels=names(sort(tapply(dat$Category, dat$Category, length)))) 

그리고 내 블로그 게시물을 참조하십시오 :

qplot(factor(Category,levels=names(sort(table(cat)))), data=dat, geom="bar") + 
    geom_bar() + 
    coord_flip() 
관련 문제