r - ggplot2条形图中的订单条

标签 r ggplot2 r-faq

我正在尝试制作一个条形图,其中最大的条形图最靠近 y 轴,而最短的条形图最远。所以这有点像我的表格

    Name   Position
1   James  Goalkeeper
2   Frank  Goalkeeper
3   Jean   Defense
4   Steve  Defense
5   John   Defense
6   Tim    Striker

所以我正在尝试构建一个条形图,根据位置显示玩家数量

p <- ggplot(theTable, aes(x = Position)) + geom_bar(binwidth = 1)

但图表首先显示守门员栏,然后是防守栏,最后是前锋栏。我希望对图表进行排序,使防守杆最接近 y 轴,守门员最接近,最后是前锋。 谢谢

最佳答案

@GavinSimpson:reorder 是一个强大而有效的解决方案:

ggplot(theTable,
       aes(x=reorder(Position,Position,
                     function(x)-length(x)))) +
       geom_bar()

关于r - ggplot2条形图中的订单条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12885383/

相关文章:

r - 在 R 中将数字打印为减少的分数

r - 删除子集数据框中未使用的因子级别

将值重新编码为一列

sql - dplyr:row_number()不适用于sql表(SQLite)

重新整理数据框

r - 添加对角线来连接ggplot2中按组组织的配对数据点

r - 如何垂直对齐条形图以使具有不同 x 数的每个条形获得相同的宽度

r - ggplot2 按 y 轴的比例对分类堆叠条进行排序

r - 在 R 中设置永久的默认 CRAN 镜像

r - 只读取选定的列