r - R中一种情节的推荐
问题描述
我有一个数据,它有 5 列代表不同的方法,这些方法包含通过不同方法捕获多少染色体。列是FACTOR,代表数据分组的类别,TOTAL是染色体的长度,METHOD是捕获该区域的方法,FROM和TO表示捕获的片段。
总的想法是绘制染色体总长度的范围,以便查看所有染色体方法之间的重叠。
作为一个例子,我离开这个
数据输入
a <- data.frame(FACTOR = as.factor(c(1,1,1,2,2,3,3,3,3,4)),
TOTAL = as.numeric(c(100,100,100,90,90,80,80,80,80,70)),
METHOD = as.factor(c("A","B","C","A","B","A","B","C","A","C")),
FROM = as.numeric(c(5,10,75,20,25,20,25,30,75,5)),
TO = as.numeric(c(95,80,100,80,85,70,55,75,80,70)))
FACTOR TOTAL METHOD FROM TO
1 1 100 A 5 95
2 1 100 B 10 80
3 1 100 C 75 100
4 2 90 A 20 80
5 2 90 B 25 85
6 3 80 A 20 70
7 3 80 B 25 55
8 3 80 C 30 75
9 3 80 A 75 80
10 4 70 C 5 70
我想完成一个与此类似的图表(它在油漆中,我知道,我很抱歉) X 轴将用于TOTAL列,Y 轴将是FACTOR。
解决方案
这是一种方法。基本思想是使用geom_linerange
粗线(也可以使用geom_segment
)将 FROM 和 TO 绘制在 y 轴上,将 FACTOR 绘制在 x 轴上,然后使用coord_flip
.
a$FACTOR <- factor(a$FACTOR, levels=c(4,3,2,1))
library(ggplot2)
ggplot(a) +
geom_linerange(aes(x=FACTOR, ymin=FROM, ymax=TO, colour=METHOD), size=3, position=position_dodge(width=0.5)) +
coord_flip()
产生:
推荐阅读
- javascript - 在 Node/Express 中将 CSV 转换为 XML 的优雅方式
- python - 为两个不同的模板使用相同的视图返回表单变量
- r - 如何过滤掉特定列都在哪里
- angular - 如何正确使用 mdb 日期选择器
- javascript - 使用下拉菜单更改选项卡
- google-app-engine - 谷歌云部署错误:更新服务[默认](这可能需要几分钟)...失败
- kubernetes - Kubernetes 更改证书密码
- odoo - 限制 ir.attachment 字段 odoo 12 中数据的大小和类型
- shell - 用于验证文件内日期格式的 awk 程序(YYYY-MM-DD-HH.MM.SS.NNNNNN)
- kotlin - 流动
- > 而不是使用 Flow
?