使用推视口重叠数字

时间:2013-04-01 19:12:41

标签: r plot viewport bioconductor

我正在尝试使用以下代码将两个数字绘制到一个PDF上:

ncols <- 1
nrows <- 2
grid.newpage()
pushViewport(viewport(layout = grid.layout(nrows, ncols)))
for (i in seq_along(chroms)) {
pushViewport(viewport(layout.pos.col = 1, layout.pos.row = 1))
plotTracks(list(itrack, gtrack, dTrack),
    chromosome = chr1, add = TRUE)
pushViewport(viewport(layout.pos.col = 1, layout.pos.row = 2))
plotTracks(list(biomTrack, gtrack2),
    chromosome = chr1, add = TRUE)
popViewport(1)
}

问题是,两个数字重叠! (并且图中的第2行保持为空)

我希望新鲜的眼睛能抓住我的虫子。我究竟做错了什么?

编辑反映来自@DINRE的评论

ncols <- 1
nrows <- 2
grid.newpage()
pushViewport(viewport(layout = grid.layout(nrows,
+     ncols)))
for (i in seq_along(chroms)) {
pushViewport(viewport(layout.pos.col = 1, layout.pos.row = 1))
plotTracks(list(itrack, gtrack, dTrack),
    chromosome = chr1, add = TRUE)
**popViewport(1)** ## NEED TO POP OUT FIRST ROW BEFORE PLOTTING SECOND.
pushViewport(viewport(layout.pos.col = 1, layout.pos.row = 2))
plotTracks(list(biomTrack, gtrack2),
    chromosome = chr1, add = TRUE)
popViewport(1)
}

1 个答案:

答案 0 :(得分:2)

底行的视口被推入顶行的视口内。首先弹出顶行的视口似乎可以解决问题。

注意:使用视口时这是一个非常常见的错误,所以如果发生这种情况,请不要感觉不好。