r - 在 ggplot2 中,重新排序未按预期工作
问题描述
我有以下df:
prod <- c('apple', 'avocado', 'banana', 'papaya', 'pine')
year <- c(2016, 2017)
qty <- c(20, 5, 10, 1, 15, 30, 7, 15, 1, 20)
prod_yr <- data.frame('prod'= rep(prod, 2), 'yr'= c(rep(2016, 5), rep(2017, 5)), 'qty'= qty)
我想以条形图的形式查看结果,所以我使用了 ggplot 的geom_bar
功能。现在,我想查看每年按降序排列的条形图。因此,我这样做:
ggplot(data = prod_yr, aes(x = reorder(yr, -qty),
y = qty,
fill = prod)) +
geom_bar(stat="identity", position=position_dodge())
这实际上是按 2017 - 2016 年的降序排列条形图,而prod
按字母顺序排列。但我想查看按降序排列的条形图qty
。因此,对于 2016/2017 年,棒材的预期产量按数量降序排列,即苹果(20)、松树(15)、香蕉(10)、鳄梨(5)、木瓜(1)
解决方案
推荐阅读
- javascript - 如何返回 JSON 对象属性
- hadoop - Hadoop 3.2:找不到记录器的附加程序(org.apache.hadoop.mapreduce.v2.app.MRAppMaster)
- amazon-web-services - PR 关闭事件上的 AWS CodeBuild 触发项目
- c - 如何读取 C 程序的堆栈段?
- design-patterns - 微服务:聚合数据:有一些好的模式吗?
- java - 如何使用 Spring MVC 更新当前用户数据?
- ruby-on-rails - 仅在注册页面上包含 javascript 文件 - Rails & Turbolinks
- android - 使用 Kotlin 中的 Acitvty 列表创建 Recyclerview
- email - Mule Imap 连接器返回空的正文内容
- c# - Anotar.Serilog [LogToErrorOnException] 添加捕获