R语言绘图中保持绘图的顺序不发生改变
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
003、使用scale_x_discrete(limits=dat$x)选项
a、原始绘图
library(ggplot2) x <- paste0("s", 1:16) y <- 4:19 dat <- data.frame(x, y) ## 保持测试数据不变 ggplot(dat,aes(x,y))+ geom_point() ## 直接绘制散点图
绘图结果如下,可以看到绘图的顺序发生的改变:
b、增加 scale_x_discrete(limits= )) 选项,使绘图的顺序不发生改变:
library(ggplot2) x <- paste0("s", 1:16) y <- 4:19 dat <- data.frame(x, y) ## 保持测试数据不变 ggplot(dat,aes(x,y))+ geom_point() + scale_x_discrete(limits=dat$x) ## 增加该选项,保证绘图的顺序不发生改变
绘图结果如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
2022-03-22 linux中将矩阵数据转换为一行数据
2022-03-22 linux中将矩阵数据转换为一列数据
2022-03-22 linux中如何将一列数据转换为一行数据
2021-03-22 c语言中数组中元素的个数