добавить заголовок с помощью grid.arrange для нескольких графиков, созданных с помощью gridExtra::grid.arrange

Я должен использовать gridExtra::grid.arrange для построения нескольких графиков помимо друг друга из-за пакета, который я использую для создания подгонки для графика. Мне нужно создать заголовок для сюжета, используя grid.arrange. Теперь я хочу объединить их, но не могу понять, как. Итак: я хочу построить несколько фигур, кроме друг друга, и дать им всем разные названия.

У меня есть euler1 и euler2, которые подходят для представления моих данных на диаграмме Эйлера. для построения двух графиков помимо друг друга этот код работает для меня:

gridExtra::grid.arrange(plot(euler1),plot(euler2))

для присвоения названия одному сюжету этот код работает для меня:

plot1 <- plot(euler1)
grid.arrange(grobs = list(plot1), top = "Title 1")

Теперь я хотел бы объединить два кода. Как мне это сделать?

Я пытаюсь, например (но не работает):

plot1 <- plot(euler1)
plot2 <- plot(euler2)
gridExtra::grid.arrange(plot1, plot2, grobs = list(plot1, plot2), top = list("Title 1","Title 2"))

С уважением, Джудит


person Judithhhhhh    schedule 16.11.2018    source источник


Ответы (2)


Обычно вы сами добавляете заголовки к сюжету, как в

p1 = ggplot() + ggtitle('plot 1')
p2 = ggplot() + ggtitle('plot 2')

grid.arrange(grobs = list(p1, p2), top = "Global Title", ncol=2)

но если вы предпочитаете использовать аргумент top grid.arrange для заголовков, вы можете вложить их,

p = ggplot()
grid.arrange(arrangeGrob(p, top = 'title 1'), arrangeGrob(p, top = 'title 2'), top = "Global Title", ncol=2)
person user10664707    schedule 16.11.2018
comment
Спасибо за ваш ответ. к сожалению, пакет, который я использую (eulerr), зависит от его собственной пользовательской реализации сюжета, для которой ggplot не является вариантом, поэтому я должен использовать синтаксис, указанный в моем исходном вопросе «сюжет» и «сетка.аранжировать» с «верхним», и «сетка Экстра». - person Judithhhhhh; 19.11.2018

Я придумал, как это сделать, так как использование main в plot было исправлено для пакета eulerr. Теперь я могу использовать:

gridExtra::grid.arrange(plot(euler1, main = 'title1'),
plot(euler2, main = 'title2'))

Спасибо всем за отзывы.

person Judithhhhhh    schedule 19.11.2018