我有一个包含分类的数据框,x轴列名为Category,y轴列名为Abundance,按Sequence进行颜色编码。对于每个Category,我要重新排序stacks,以便可以轻松地可视化哪个序列在底部具有最高比例,在顶部具有最低比例。
目前,我可以制作这样的条形图:
s<-"Sequence Abundance Category
CAGTG 0.8 A
CAGTG 0.2 B
CAGTG 0.6 C
CAGTG 0.3 D
CAGTG 0.1 E
GGGAC 0.1 A
GGGAC 0.1 B
GGGAC 0.3 C
GGGAC 0.6 D
GGGAC 0.1 E
CTTGA 0.1 A
CTTGA 0.7 B
CTTGA 0.1 C
CTTGA 0.1 D
CTTGA 0.8 E"
d<-read.delim(textConnection(s),header=T,sep=" ")
g = ggplot(d,aes(x = Category, y = Abundance, fill = Sequence)) +
geom_bar(position = "fill",stat = "identity")
我的数据与这个非常相似:在ggplot2堆栈条形图中按大小排序堆栈
但是,即使尝试复制该解决方案(按照答案中的步骤进行),它也不会按比例重新排序堆栈:
d$Sequence <- reorder(d$Sequence, d$Abundance)
d$Sequence <- factor(d$Sequence, levels=rev(levels(d$Sequence)))
ggplot(d, aes(x=Category, y=Abundance, fill=Sequence)) +
geom_bar(stat='identity')
我找不到我想要的示例。非常感谢任何帮助!