1

我正在尝试使用 ggplot 中的分面网格将样本和染色体绘制为行和列。我的问题是每个方面都非常小,因为我有 25 条染色体和许多样本。有没有办法用实际大小绘制每个方面,并在样本和染色体上水平和垂直滚动?这是我的代码

seg <- read.table("tmp.seg")
head(seg)
    id  chr   start      end test  ref       log2
2 114F chrY 9992443 10038173 2654 3818 -0.03
3 114F chrY 9969577 10015307  460 1286 -0.99
4 114F chrY 9946711  9992441  497 1348 -0.94
5 114F chrY 9923845  9969575  537 1254 -0.73
6 114F chrY 9900979  9946709 1040 2667 -0.86
7 114F chrY 9878113  9923843  700 2021 -1.03

p <- ggplot(seg) + geom_segment(aes(x=seg$start,y=seg$log2,xend=seg$end,yend=seg$log2,color=seg$log2),size=1) +
    facet_grid(id~chr,scales="free_x") + 
      scale_color_gradient(limits=c(-1,1),low="blue", high="red") +
        theme(panel.background=element_rect(fill="white")) + ylim(c(-2,2))

结果看起来像这样

在此处输入图像描述

如您所见,刻面缩小了图,其中所有细节都消失了。我想知道如何制作一个高分辨率图,其中可以水平和垂直滚动以详细查看每个样本的每个染色体。

提前致谢

4

1 回答 1

0

使用带有一定数量的列或行的 facet_wrap 包装。例如, facet_grid(id~chr,ncol=4) 会将您的图表分解为更清晰的表示,但不幸的是不会使图表能够滚动。

于 2017-11-02T12:30:20.017 回答