首页 > 解决方案 > ggplot2 - y 值之间具有大空间的连续 x 尺度:我想分散 x 值以更好地可视化 y

问题描述

这对我来说有点难以解释,所以请多多包涵。我正在可视化甲基化数据(EPIC 阵列),其中包含映射到基因组的探针。这些探针有时密集,有时稀疏。

我想在 x 上显示基因组位置,在 y 上显示甲基化值。为了查看探针与特定基因的关系,我正在制作一个轨迹图(图 1)。正如您所看到的,在两个点簇中间没有数据的情况下存在很大差距。我想更好地展示这些点,将它们展开,如图 2 所示。但是,我不能将 x 作为因子,因为它会破坏轨迹图中基因的比例(它们必须对齐)。我想知道是否有办法删除图中的这个空间,或者用可见的中断替换它,表明 ggplot 中的比例是不连续的?我知道 facet_zoom,但这对我来说并不真正适用于轨迹图。

输出轨迹图

以 x 为因子绘制的轨道中的第一个图

我的数据框:

头(df) 数据框

剧情代码:

ggplot(df, aes(x = as.numeric(pos), y = beta, col = timepoint)) +
  geom_jitter(width = 0.2, size = 3, alpha = 0.6) +
  labs(title = "CpGs", x = "Chromosome position", y = "Beta value", col = "Day" )+
  scale_color_brewer(palette="PRGn") +
  theme(axis.text.x = element_text(angle = 45)) +
  stat_summary(aes(y = beta, group = timepoint), fun = mean, geom = "line")

标签: axisbreak

解决方案


推荐阅读