R语言绘图中保持绘图的顺序不发生改变

发布时间 2023-03-22 21:13:42作者: 小鲨鱼2018

 

001、生成测试数据以及测试

library(ggplot2)
x <- paste0("s", 1:16)
y <- 4:19
dat <- data.frame(x, y)       ## 生成测试数据框
dim(dat)
head(dat, 3)

ggplot(dat,aes(x,y))+
  geom_point()                ## 直接绘制散点图

绘图结果如下,可见并不是按照原始数据中的顺序输出绘图结果:

 

 

002、保持绘图的顺序跟原始数据的一致

library(ggplot2)
x <- paste0("s", 1:16)
y <- 4:19
dat <- data.frame(x, y)                   ## 生成测试数据,跟001中保持一致
dim(dat)
head(dat, 3)

dat$x <- factor(dat$x,level = dat[,1])    ## 对dat中的x列进行转换
ggplot(dat,aes(x,y))+
  geom_point()

如下为绘图结果,可见顺序与原始数据中的顺序一致:

 

参考:https://blog.csdn.net/weixin_56198196/article/details/124518774