对 R 中绘图类型的推荐

Recomendation for a type of plot in R

我有一个包含 5 列的数据,代表不同的方法,表示通过不同的方法捕获了多少染色体。列是 FACTOR 代表数据分组的类别,TOTAL 染色体的长度,METHOD 捕获该区域的方法,FROMTO 显示捕获的段。

一般的想法是绘制染色体总长度的范围,以便查看所有染色体上方法之间的重叠。

作为示例,我留下这个

数据输入

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 轴将是 因子

这是一种方法。基本思想是使用 geom_linerange 和粗线(也可以使用 geom_segment)在 y 轴上绘制 FROM 和 TO,在 x 轴上绘制 FACTOR,然后使用 [=13= 翻转它].

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()

产生: