r - ggplot散点图排列X轴值
问题描述
您好,我正在使用 ggplot2 绘图创建绘图 我想根据我的另一列值修改 x 轴值 任何人都可以建议我根据该列值对值进行分组
样本数据
Names Values group
FLAM_C 20.03965 1
MER112 20.09371 1
L1MA10 20.11173 1
L1PB3 20.20184 1
LTR78B 20.27392 1
MLT1H1 20.29194 2
(TG)n 20.30997 2
Charlie7 20.58028 2
MamRep605 20.27392 2
LTR16A 20.47216 2
Charlie1b 20.94071 3
L1PA6 20.29194 3
MLT1G1 20.68841 4
LTR67B 20.72445 4
MER58A 20.94071 4
脚本
library(ggplot2)
df=read.table("test1",sep='\t', header=TRUE)
df = data.frame(df)
head(df)
ggplot(df, aes(y=Values, x =Names, col=group)) +
geom_point()
test1 高于文件中的数据
解决方案
干得好:
library(tidyverse)
test1<-tribble(~Names, ~Values, ~group,
"FLAM_C" , 20.03965, 1,
"MER112" , 20.09371, 1,
"L1MA10" , 20.11173, 1,
"L1PB3", 20.20184, 1,
"LTR78B", 20.27392, 1,
"MLT1H1", 20.29194, 2,
"(TG)n" , 20.30997, 2,
"Charlie7", 20.58028, 2,
"MamRep605", 20.27392, 2,
"LTR16A", 20.47216, 2,
"Charlie1b", 20.94071, 3,
"L1PA6", 20.29194, 3,
"MLT1G1", 20.68841, 4,
"LTR67B" , 20.72445, 4,
"MER58A", 20.94071, 4)
ggplot(test1,
aes(y=Values,
x =fct_reorder(Names, group), #if you want to change order of group, use fct_reorder(Names, desc(group))
col=group)) +
geom_point()
我不知道您为什么要根据组进行安排,但是此代码应该适合您。诀窍是 fct_reorder。
推荐阅读
- node.js - 扫描币安智能链(nodejs + web3)上的所有智能合约创建
- azure - 如何在 Azure Web App 服务上部署 Kafka
- dc.leaflet.js - 如何访问 dc.leaflet.js 图表的图层,以便能够通过图层控件打开/关闭它?
- python - 最小(或最大)变量的良好起始值是多少?
- java - 用它的值替换最终变量的值的intellij想法快捷方式是什么?
- sql-server - SQL 问题:根据操作代码获取以前的数据
- java - 如何使用确认属性从Java中读取文件
- java - JavaFX-maven 项目突然停止识别 InteliJ IDE 上的资源
- python - 如何解析动态加载的野莓页面?
- firebase - Flutter 参数类型 'StreamTransformer
' 不能分配给参数类型 StreamTransformer >