Подтвердить что ты не робот

Grid.arrange from gridExtras, выходящий с "только" grobs ", разрешенным в" gList "после обновления

Я только что обновил R, R Studio и кучу пакетов, включая ggplot2 и gridExtras на моем Mac. Теперь gridExtras не работает при базовом построении с ошибкой:

"разрешено только" grobs "в" gList ""

Вот код, который должен работать, но не работает:

library(ggplot2)
p1 = qplot(1:10,rnorm(10))
p2 = qplot(1:10,rnorm(10))
library(gridExtra)
grid.arrange(p1, p2, ncol=2, main = "Main title")

Это выдает следующую ошибку:

Error in gList(list(grobs = list(list(x = 0.5, y = 0.5, width = 1, height = 1,  : 
  only 'grobs' allowed in "gList"
In addition: Warning message:
In grob$wrapvp <- vp : Coercing LHS to a list

Любая помощь приветствуется!

4b9b3361

Ответ 1

Это связано с тем, что grid.arrange больше не имеет параметра main (кажется, что он был исключен около лета 2015 года с выпуском 2.0.0) и поэтому считает, что параметр main= должен быть громом. Чтобы заменить main, теперь вы можете использовать параметр top (а также bottom, left и right).

Итак, это работает, например:

library(ggplot2)
p1 = qplot(1:10,rnorm(10))
p2 = qplot(1:10,rnorm(10))

library(gridExtra)
grid.arrange(p1, p2, ncol=2,top="Main Title")

Сообщение немного запутанно, потому что оно смотрит на все параметры, которые он не знает, и предполагает, что они могут быть grobs (графические объекты), которые он может отображать. Сообщение об ошибке, подобное этому, - это цена, которую вы платите за эту гибкость.

Обратите внимание, что если у вас много grobs, вы должны рассмотреть возможность их упаковки в список и использовать технику grobs = list(p1,p2,...).

введите описание изображения здесь