ggplot2 - 按重量值排序图表

时间:2017-09-22 11:04:03

标签: r ggplot2 dplyr

我正在尝试生成一个条形图(使用ggplot2),其中沿y轴的位置估计数据和沿x轴的基本计数比例。我的数据结构如下:

  Data <- data.frame(locations = c("A","B","C","D"...), estimates = c(200, 300, 400, 200...)

然后我根据估计使用dplyr来安排我的数据

  library(dplyr)
  Data <- Data %>% arrange(estimates)

然后我运行我的ggplot2代码

  library(ggplot2)
  ggplot(Data, aes(locations, weight = estimates))+
         geom_bar()+
         coord_flip()

但由此产生的情节是这样的,根据估计没有订购条。

enter image description here

1 个答案:

答案 0 :(得分:1)

使用dplyr毫无意义。您所要做的就是订购estimates,提取相应的locations并将其传递给scale_x_discrete,例如:scale_x_discrete(limits = Data$locations[order(Data$estimates)])

library(ggplot2)

 ggplot(Data, aes(locations, weight = estimates))+
         geom_bar()+
         coord_flip() +
         scale_x_discrete(limits = Data$locations[order(Data$estimates)])

enter image description here