r ggplot x轴刻度标记顺序

时间:2015-08-17 22:53:49

标签: r plot ggplot2

我已经看到了几个关于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这是我想要的输出 enter image description here

我担心这会影响整个情节而不仅仅是标签

1 个答案:

答案 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
相关问题