cowplot: извлечение подзаговора после вызова plot_grid - PullRequest
0 голосов
/ 22 мая 2018

Я использую plot_grid для организации двух графиков:

library(ggplot2)
library(cowplot)

d = data.frame(x=rnorm(100), y=rnorm(100), g=sample(c('a', 'b'), 100, replace=T))
p1 = ggplot(d) + geom_point(aes(x=x, y=y, colour=g))
p2 = ggplot(d) + geom_point(aes(x=y, y=x, colour=g))
p = plot_grid(p1, p2, nrow=1)

Вопрос: есть ли способ извлечь отдельные объекты ggplot после , вызвав plot_grid?Например, я хотел бы сделать что-то вроде этого:

q = extract_ggplot_objects(p)
q1 = q[[1]]
q2 = q[[2]]
q1 = q1 + theme(legend.position='none')
q2 = q2 + ylab('') + theme(axis.text.y=element_blank(), axis.ticks.y=element_blank())
new_p = plot_grid(q1, q2, nrow=1)

Я знаю, что для этого конкретного примера проще всего просто удалить легенду из p1 перед вызовом plot_grid.Однако проблема, которую я пытаюсь решить, гораздо сложнее, и было бы полезно, если бы был общий способ сделать это.

...