美好的一天,我希望使用ggplot2生成图形,而不是使用其对分类变量的默认排序(按字母顺序,在脚本中为字母:),而是使用连续变量的关联值(在脚本中:number)。

这是一个示例脚本:

library(ggplot2)
trial<-data.frame(letters=letters, numbers=runif(n=26,min=1,max=26))
trial<-trial[sample(1:26,26),]
trial.plot<-qplot(x=numbers, y=letters, data=trial)
trial.plot
trial<-trial[order(trial$numbers),]
trial.plot<-qplot(x=numbers, y=letters, data=trial)
trial.plot
trial.plot+stat_sort(variable=numbers)


最后一行不起作用。

最佳答案

我很确定stat_sort不存在,因此它不会按您认为的那样工作也就不足为奇了。幸运的是,有一个reorder()函数根据第二个变量的值对分类变量的级别进行重新排序。我认为这应该做您想要的:

trial.plot <- qplot( x = numbers, y = reorder(letters, numbers), data = trial)
trial.plot

关于r - ggplot中分类变量的排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5916779/

10-12 16:30