繁体   English   中英

r ggplot x轴刻度标记顺序

[英]r ggplot x axis tick marks order

我已经看到了几个关于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这是我想要的输出 在此输入图像描述

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

我会将我的评论转为答案,以便将其标记为已解决:

你的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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM