我有一个数据框,其中包含如下条目:
变量名 重要性 排序 1 foo 0.06977263 1 2 bar 0.05532474 2 3 baz 0.03589902 3 4 alpha 0.03552195 4 5 beta 0.03489081 5 ...
在使用 breaks = variable 绘制图表时,我希望保留排序,而不是按字母顺序排列。
我正在使用以下代码进行渲染:
ggplot (data, aes(x=variable, weight=importance, fill=variable)) + geom_bar() + coord_flip() + opts(legend.position='none')
然而,变量名的排序是按字母顺序排列的,而不是数据框内的顺序。我曾经看到过一篇关于在 aes 中使用“order”的文章,但似乎没有效果。
我希望 breaks 的顺序与“order”列中的顺序相一致。
有一个类似的问题:How to change the order of discrete x scale in ggplot,但老实说,我不理解这个上下文中的答案。
dput
并在帖子末尾添加一小部分数据样本(或者使用基于R的datasets
包中的全局可用数据集),那么其他人回答问题会更容易。 - Shanevariable
是一个字符还是一个因子? - Joshua Ulrich