繁体   English   中英

使用ggplot2连接嵌套数据组中图表上的点

[英]Connecting points on a graph within nested groups of data with ggplot2

我在解决如何在嵌套结构中的ggplot上的点之间绘制线时遇到问题。

我所拥有的是一组由3个不同的嵌套组分解的数据。 然后绘制哪一个,第一组用facet配对子组( Mutation ),第二组然后将数据分成初始实验( HiSeq )和复制实验( MiSeq ),而第三组( Grouping )颜色并根据它们的样本类型对点进行整形。

虽然我已经陷入困境,但我希望通过一条线将一对(变异)中的2个点(HiSeq / Miseq)连接起来,以便于锻炼两个相关联。 我做了一个模拟,可以看出:

在这里,大致显示了我想要尝试和做的事情 然而,我无法在两组(HiSeq / Miseq)中找到如何做到这一点,同时保持在顶级组(Mutation)。

有人有解决方案吗? 我将用于构建当前图形的数据片段和代码如下所示。 它最终可能会变得混乱,但它可能会有用。

ggplot(test,aes(y=AR,x=Type,fill=Grouping,colour=Grouping,shape=Grouping)) + 
    geom_point(binaxis='y',stackdir='center',position=position_dodge(width = 0.2),size=7) + 
    facet_wrap(~ Mutation,nrow=1) + 
    xlab("") + 
    ylab("Allelic Ratio") + 
    theme_minimal(base_size=20)

示例数据

structure(list(Mutation = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("chr1:51910329", 
"chr1:72951069"), class = "factor"), Type = structure(c(1L, 2L, 
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 
1L, 2L), .Label = c("HiSeq", "MiSeq"), class = "factor"), Grouping = structure(c(3L, 
3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 
2L, 2L, 1L, 3L, 3L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 
1L, 1L, 1L), .Label = c("Offspring (M)", "Offspring (P)", "Proband"
), class = "factor"), Name = c(288458773L, 288458773L, 423125012L, 
423125012L, 344991226L, 344991226L, 422977809L, 422977809L, 420753074L, 
420753074L, 351142406L, 351142406L, 422743921L, 422743921L, 425596544L, 
425596544L, 422595517L, 422595517L, 477342393L, 477342393L, 288458773L, 
288458773L, 423125012L, 423125012L, 344991226L, 344991226L, 422977809L, 
422977809L, 420753074L, 420753074L, 351142406L, 351142406L, 477342393L, 
477342393L, 480773638L, 480773638L), AR = c(0.38, 0.3, 0, 0, 
0.375, 0.545, 0.41, 0.388, 0.35, 0.42, 0, 0, NA, 0.59, NA, 0, 
0, 0.05, 0, 0, 0.1875, 0.078379734, 0.4, 0.505582473, 0, 0.002394493, 
0, 0.002023547, 0, 0.001600569, 0.6, 0.510240797, 0.6, 0.490997813, 
0, 0.001785424)), .Names = c("Mutation", "Type", "Grouping", 
"Name", "AR"), class = "data.frame", row.names = c(NA, -36L))

我想这可能是你想要的 - 看看geom_line并理解它的group审美:

ggplot(df, aes(x = Type, y = AR, fill = Grouping, color = Grouping, shape = Grouping)) +
  geom_point(size = 5) +
  geom_line(aes(group =  Name)) +
  facet_wrap(~ Mutation)

情节

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM