通过x轴上的数字数据排序ggplot条形图,而不是y轴上的字母顺序

时间:2017-03-05 02:54:39

标签: r ggplot2

我正在尝试按x轴排序我的ggplot geom_bar图表中的数据,这是整数值(Crude.Rate =每种疾病的死亡人数),但y轴,美国各州,正在保留数据按字母顺序排列。我试图创建x轴数值数据的因子,但图表按字母顺序排列,x轴标签只是移动以匹配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()

1 个答案:

答案 0 :(得分:0)

您不需要将Crude.Rate更改为一个因素。你可以按原油重新排序State.Rate:

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

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