【发布时间】:2020-09-21 04:09:55
【问题描述】:
我正在尝试创建一个堆叠的条形图,使用 ggplot2,按多个标准排序。这是我正在使用的数据框 -
my_df<-data.frame('sub_n'=c(rep(1,3),rep(2,3),rep(3,3),rep(4,3),rep(5,3)),'total'=c(1, 3, 3, 2, 1, 2, 1, 3, 3, 1, 3, 1, 3, 1, 3),'choice'=c(rep(c('a','b','c'),5)))
我最终希望拥有的是一个堆叠的条形图,根据“选择”的数量进行排序。具体来说,我想创建一个横向堆积图,顶部的条形图具有最高的选择“总”值==b,然后是具有最高选择值==c 的条形图,然后是通过具有最高“总”选择值的条形==a。
这是我迄今为止尝试做的 -
require(dplyr)
require(forcats)
my_df<-my_df %>%
arrange(choice, desc(total)) %>%
mutate(choice=fct_reorder(choice,total))
order_1<-unique(my_df$sub_n)
my_df$sub_n<-factor(my_df$sub_n, levels=order_1)
my_df <- my_df[order(my_df$sub_n),]
ggplot(data=my_df, aes(x=sub_n, y=total, fill=choice))+
geom_bar(position="stack",stat="identity")+
coord_flip()
我什至不确定我是否正确地解释了这一点,如果我可以添加其他内容以使其更清楚,请告诉我。
【问题讨论】:
标签: r ggplot2 data-visualization stacked-chart