【问题标题】:Ordering categories in ggplot bar graph [duplicate]在ggplot条形图中排序类别[重复]
【发布时间】:2019-03-10 10:52:03
【问题描述】:

我有这个数据库,它按变量 Pres 和 Pres_ti 分组。

Pres         Pres_ti   count       perc
1 CARD IMP      ASSE      13     0.26530612
2 CARD IMP      IAMC      34     0.69387755
3 CARD IMP      SEGPRIV   2      0.04081633
4 CARD PRO      ASSE      10     0.25641026
5 CARD PRO      IAMC      27     0.69230769
6 CARD PRO      SEGPRIV   2      0.05128205

我用它用ggplot制作了条形图,

 ggplot(g2, aes(x = factor(Pres), y = perc*100, fill = Pres_ti, 
  fct_reorder(perc)) ) +
   geom_bar(stat="identity", width = 0.7)+
  coord_flip()

使用该代码,我制作了一个图表,显示了每个 pres 类别中不同 Pres_ti 类别的份额。

我想对图表进行排序,以便首先获得 Pres_ti ASSE 类别百分比最高的栏。

例如,在我的数据中,CARD IMP 应该是第一位的,因为 ASSE 百分比是 0.26>0.25

知道如何解决这个问题吗?

谢谢

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    也许这样的事情可以完成这项工作:

    ggplot(g2, aes(x = reorder(factor(Pres), -perc*100), y = perc*100, fill = Pres_ti, 
    fct_reorder(perc)) ) +
    geom_bar(stat="identity", width = 0.7)+
    coord_flip()
    

    【讨论】:

    • 谢谢! I 此代码根据最高 Pres_ti 类别百分比对条形图进行排序。但是,它不会按照名为“ASSE”的最高 Pres_ti 类别对它们进行排序。
    猜你喜欢
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 2011-08-23
    相关资源
    最近更新 更多