2017-03-05 102 views
0

我想通过x轴排序数据,这些数据是整数值(Crude.Rate =每种疾病的死亡数目),但是,美国的y轴正在按照字母顺序保存数据。我试图创建x轴数字数据的因子,但图表保持按字母顺序排列,x轴标签只是左右移动以匹配y轴。在x轴上按数字数据排序ggplot条形图,而不是在y轴上按字母顺序排列

代码:

stDis10 <- cdcData %>% 
    filter(Year == "2010", ICD.Chapter == "Heart Attack") %>% 
    arrange(desc(Crude.Rate)) %>% 
    select(State, ICD.Chapter, Crude.Rate) 

stDis10$Crude.Rate <- factor(stDis10$Crude.Rate, levels = stDis10$Crude.Rate) 

ggplot(stDis10, aes(y = Crude.Rate, x = State)) + geom_bar(stat='identity') + coord_flip() 

回答

0

你不需要Crude.Rate改变的一个因素。您可以通过Crude.Rate重新排序国家:

ggplot(stDis10, aes(y = Crude.Rate, x = reorder(State, Crude.Rate))) + geom_col() + coord_flip() 

(在GGPLOT2的最新版本,geom_col()可以用来代替geom_bar(stat = "identity")。)