如何根据两个属性在ggplot中排序因子?

时间:2017-04-21 03:27:37

标签: r ggplot2

我正在尝试根据每个var1级别的男性+女性总数重新排序此条形图。但是,我对fct_reorder做错了,现在只根据total male的值进行重新排序。

library(fct_relabel)
ff <- data.frame(var1=c('a','a','b','b'), var2=c('male', 'female', 'male', 'female'), total=c(40, 60, 30, 90)) 
          ggplot(data= ff, aes(x = fct_reorder(var1, total), y=total, fill=var2)) + 
          geom_bar(stat = 'identity')

1 个答案:

答案 0 :(得分:0)

您需要使用sum中的fct_reorder功能:默认情况下,它使用total值的中位数而不是总和:

ggplot(data= ff, aes(x = fct_reorder(var1, total, sum), y=total, fill=var2)) + 
    geom_bar(stat = 'identity')