如何根据管道中的汇总值对 geom_col 列进行排序

Pau*_*ler 2 r ggplot2

我尝试理解其他结果,但无法理解。\n这是我的数据集:

\n\n
 > HIST\n# A tibble: 1,071 x 16\n     Ano        Leilao Fonte    UF     Vend                         Projeto\n   <dbl>         <chr> <chr> <chr>    <chr>                           <chr>\n 1  2008 2008 Leilao 1   Bio    SP  Abengoa UTE S\xc3\xa3o Luiz (Abengoa S\xc3\xa3o Luiz)\n 2  2013    2013 A-5 1   Bio    MS AMANDINA                        Amandina\n 3  2017      2017 A-6   Bio    MG    BEVAP         BIOENERGETICA AROEIRA 2\n 4  2015    2015 A-5 1   Bio    BA     Bolt                         BOLTBAH\n 5  2013    2013 A-5 1   Bio    BA     Bolt                    CAMPO GRANDE\n 6  2013    2013 A-5 1   Bio    PI     Bolt                 CANTO DO BURITI\n 7  2010      2010 LER   Bio    TO    Bunge                    PEDRO AFONSO\n 8  2015      2015 LFA   Bio    SP  Clealco                 CLEALCO QUEIROZ\n 9  2015      2015 A-3   Bio    SP  Clealco                 CLEALCO QUEIROZ\n10  2008 2008 Leilao 1   Bio    MG     CMAA              UTE Vale do Tijuco\n# ... with 1,061 more rows, and 10 more variables: CODPPA <dttm>, CAPEX <dbl>,\n#   MW <dbl>, GF <dbl>, FC <dbl>, PPA <dbl>, RMW <dbl>, WACC <dbl>, TIR <dbl>,\n#   VPL <dbl>\n
Run Code Online (Sandbox Code Playgroud)\n\n

`

\n\n

我想制作一个按总和(MW)排序的图表,如下所示:

\n\n
HIST %>%\n  group_by(Fonte, UF)%>%\n  summarise(SUMMW = sum(MW))%>%\n  arrange(desc(SUMMW))%>%\n\n  ggplot(aes(x = UF, y = SUMMW, fill = Fonte))+\n\n  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +\n  geom_col()\n
Run Code Online (Sandbox Code Playgroud)\n\n

但问题是我得到下面的图表,不是按MW总和排序的。我希望该图的列按列的高度排序:

\n\n

阴谋

\n\n

谢谢你,保罗

\n

小智 7

我认为最简单的方法是使用以下命令对SUMMW美学函数中的变量重新排序:aesreorder(UF, desc(SUMMW))

HIST %>%
  group_by(Fonte, UF)%>%
  summarise(SUMMW = sum(MW))%>%
  arrange(desc(SUMMW))%>%

  ggplot(aes(x = reorder(UF, desc(SUMMW)), y = SUMMW, fill = Fonte))+

  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  geom_col()
Run Code Online (Sandbox Code Playgroud)