Я пытаюсь построить две фигуры на один 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 фигуры остается пустой)
Я надеюсь, что свежие глаза поймают мою ошибку. Что я делаю не так?
отредактирован REFLECT комментарий от @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)
}
Просьба сделать вашу ситуацию воспроизводимой, то есть предоставить нам данные и код, необходимые для имитации вашей ситуации. См. Http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example, чтобы узнать больше о том, как это сделать. –
Есть ли особая причина, почему вы используете функцию «grid.layout»? Вы также можете легко указать точные размеры, местоположения и обоснования для видовых экранов. Если вы хотите один в первой строке, а другой во второй строке, используйте измерения «npc» с чем-то вроде этого: 'pushViewport (viewport (x = 0, y = 1, height = 0.5, width = 1, just = c («left», «top»))) 'и' pushViewport (viewport (x = 0, y = 0, height = 0.5, width = 1, just = c ("left", "bottom"))) ' – Dinre
Wait , Я думаю, что вижу вашу проблему ... попробуйте щелкнуть окно просмотра верхней строки, прежде чем нажимать нижнюю строку. – Dinre