Сначала упорядочивает графики по горизонтали, а не по вертикали: marrangeGrob в r

#r #r-markdown

#r #r-markdown

Вопрос:

У меня есть список графиков (объектов ggplot2), которые я размещаю на нескольких страницах в документе R Markdown, который в конечном итоге связывается как документ PDF. Для этого я использую функцию marrangeGrob() из gridExtra. Мою проблему можно проиллюстрировать на примере, представленном на странице виньеток gridExtra (ссылка ниже). Вы можете видеть, что графики сначала располагаются по вертикали, а не по горизонтали. Я хотел бы сделать наоборот (т.Е. Построить график 1 2 в верхней части примера и 3 4 внизу, а не 1 3 сверху и 2 4 снизу).

Мысли? https://cran.r-project.org/web/packages/gridExtra/vignettes/arrangeGrob.html

Пример кода взят непосредственно с этой страницы (полное указание авторства!).

Я попытался установить as.table = TRUE, а также попытался установить расположение матрицы в качестве параметров в вызове marrangeGrob(), но безуспешно. Я также пытался вызывать отдельные части списка и вручную настраивать с помощью layout, но макет не такой аккуратный (или простой с точки зрения кода), как выполнение всего в функции marrangeGrob() . Я также не заинтересован в изменении порядка объектов в моем списке, если это не единственный вариант.

Версия R Studio 1.1.463; версия R 3.5.3

Спасибо!

 library(gridExtra)
library(grid)
library(ggplot2)
library(lattice)

set.seed(123)
pl <- lapply(1:11, function(.x) 
             qplot(1:10, rnorm(10), main=paste("plot", .x)))
ml <- marrangeGrob(pl, ncol=2, nrow=2, as.table = FALSE)
ml
  

Комментарии:

1. попробуйте добавить layout_matrix = matrix(1:4, 2, 2, TRUE)

2. Отлично! Это работает замечательно. Спасибо за вашу помощь!