我已经看到了几个关于x轴标记顺序的问题但仍然没有一个可以解决我的问题。 我正在尝试做一个密度图,它显示每个得分中百分位数的人分布
library(dplyr); library(ggplot2); library(ggtheme)
ggplot(KA,aes(x=percentile,group=kscore,color=kscore))+
xlab('Percentil')+ ylab('Frecuencia')+ theme_tufte()+ ggtitle("Prospectos")+
scale_color_brewer(palette = "Greens")+geom_density(size=3)
但x轴标记的排序方式如1,10,100,11,12,..,2,20,21,..,99而不仅仅是1,2,3,..,100这是我想要的输出
我担心这会影响整个情节而不仅仅是标签
答案 0 :(得分:1)
我会将我的评论转为答案,以便将其标记为已解决:
你的x变量(几乎可以肯定)是一个因素。你可能希望它是数字。
KA$percentile = as.numeric(as.character(KA$percentile))
当你看到奇怪的东西时,检查你的数据是件好事。运行str(KA)
是查看其中的内容的好方法。如果您只想查看课程,sapply(KA, class)
是一个很好的总结。
这是一个常见的R怪癖,如果你从因素转换为数字,那么就是通过角色来进行,或者你最终只能使用等级数来冒险:
year_fac = factor(1998:2002)
as.numeric(year_fac) # not so good
# [1] 1 2 3 4 5
as.numeric(as.character(year_fac)) # what you want
# [1] 1998 1999 2000 2001 2002