给定一个包含标签类别列和百分数数据量化列的二列数据框,我可以可靠地在ggplot中生成柱状图,按照值而不是按字母顺序对柱排序,使用以下方法:
ggplot(data=df, aes(x=reorder(Label, Percent), y=Percent, fill=Label)) + geom_bar()
这将告诉重新排序按百分比值而不是文本对柱状图进行排序,使更容易看到变化。
然而,我无法使图例匹配:相反,它仍然按原始的字母顺序进行排序。这导致图例与图表不匹配,令人困惑。
我在StackOverflow和其他地方查找过,但没有找到可行的解决方法。有什么建议吗?
编辑:根据请求,这基本上是数据:
Labels <- c("G", "G", "A", "C", "M", "B", "M", "G", "A","M")
Percent <- c("-0.241","-0.046", "-0.037", "-0.024", "-0.003","0.007","0.01","0.059","0.121", "0.152")
df
示例,以便我们可以重现你的问题吗? - cdeterman+ scale_fill_discrete(breaks=c("顶部","中间","底部"))
吗? - Jota