R 在基于另一列的ggplot中挣扎于重新排序因子

R 在基于另一列的ggplot中挣扎于重新排序因子,r,ggplot2,group-by,R,Ggplot2,Group By,我有这些数据 nome_movimento date_info n total <fct> <chr> <int> <int> 1 "scivolamento rotazionale" day 787 1875

我有这些数据

   nome_movimento                               date_info     n total
   <fct>                                        <chr>     <int> <int>
 1 "scivolamento rotazionale"                   day         787  1875
 2 "scivolamento rotazionale"                   year        454  1875
 3 "scivolamento traslativo"                    day         434  1175
 4 "scivolamento rotazionale"                   no date     354  1875
 5 "scivolamento traslativo"                    year        339  1175
 6 "scivolamento traslativo"                    no date     290  1175
 7 "scivolamento rotazionale"                   month       280  1875
 8 "scivolamento traslativo"                    month       112  1175
 9 "colamento \"rapido\""                       day          56   105
10 "crollo"                                     day          51    97
11 "colamento \"rapido\""                       no date      30   105
12 "crollo"                                     no date      26    97
13 "Aree soggette a frane superficiali diffuse" no date      24    44
14 "Aree soggette a frane superficiali diffuse" year         18    44
15 "colamento \"lento\""                        year         16    44
16 "colamento \"lento\""                        no date      13    44
17 "colamento \"lento\""                        day          12    44
18 "colamento \"rapido\""                       year         12   105
19 "crollo"                                     month        11    97
20 "crollo"                                     year          9    97
我现在想做的是这样的情节:

df %>%
  mutate(
    nome_movimento = as.factor(nome_movimento),
    nome_movimento = fct_reorder(nome_movimento, total)
  ) %>%
  ggplot(aes(n, nome_movimento)) +
  geom_col(aes(fill = date_info)) +
  labs(y = "Nome Movimento")
这给了我一个情节:

但我想通过
fct\u重新排序
实现的是,总
n\u数最大的“nome\u movimento”是最上面的条等等


我真的认为我把这里搞砸了,但我不确定它到底是什么…

你可以尝试简单地
取消tibble的分组:

df%>%
变异(
nome_movimento=as.factor(nome_movimento),
nome_movimento=fct_再订购(nome_movimento,总计)
) %>%
ggplot(aes(n,nome_movimento))+
地理坐标(aes(填充=日期信息))+
实验室(y=“Nome Movimento”)


数据

结构(列表(nome_movimento=c(“scivolamento rotazionale”),
“scivolamento rotazionale”、“scivolamento traslativo”、“scivolamento rotazionale”,
“scivolamento traslativo”、“scivolamento traslativo”、“scivolamento rotazionale”,
“scivolamento traslativo”、“colamento\”rapido\”和“crollo”,
“colamento”“rapido”“crollo”“Aree soggette a frane Supersicali Difficial”,
“索吉特是一个肤浅的人吗?”“科拉门托”是“莱托”,
“colamento \”lento \“,“colamento \”lento \“,“colamento \”rapido \”,
“crollo”、“crollo”)、date_info=c(“日”、“年”、“日”、“无日期”,
“年”、“无日期”、“月”、“月”、“日”、“日”、“无日期”,
“无日期”、“无日期”、“年”、“年”、“无日期”、“日”、“年”,
“月”、“年”,n=c(787L、454L、434L、354L、339L、290L、280L、,
112L、56L、51L、30L、26L、24L、18L、16L、13L、12L、12L、11L、,
9L),总计=c(1875L,1875L,1175L,1875L,1175L,1175L,1875L,
1175L、105L、97L、105L、97L、44L、44L、44L、44L、105L、97L、,
97L),class=“data.frame”,row.names=c(“1”、“2”、“3”、“4”,
"5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", 
"16", "17", "18", "19", "20"))
df %>%
  mutate(
    nome_movimento = as.factor(nome_movimento),
    nome_movimento = fct_reorder(nome_movimento, total)
  ) %>%
  ggplot(aes(n, nome_movimento)) +
  geom_col(aes(fill = date_info)) +
  labs(y = "Nome Movimento")