2015-10-14 2 views
2

Я использовал gridExtra создать 2 участка рядом друг с другом, и я могу сохранить объект с помощью ggsaveСохранения участков с использованием grid_draw методы вместо gridExtra

Однако участки смещены в gridExtra, так что я использовал этот метод

#Method 2 - gtable 
require(gtable) 
#Extract Grobs 
g1<-ggplotGrob(left) 
g2<-ggplotGrob(right) 
#Bind the tables 
    g<-gtable:::cbind_gtable(g1, g2, "first") 
#Remove a row between the plots 
g <- gtable_add_cols(g, unit(-1,"cm"), pos=ncol(g1)) 
#draw 
grid.newpage() 
grid.draw(g) 

этот метод описывается в этой ссылке

The perils of aligning plots in ggplot

Он работал прекрасно для моих графиков б у когда я сохраняю

object <- grid.draw(g) 

объект NULL, когда я пытаюсь смотреть на него, и я не знаю, как сохранить его в формате PNG

метод gridExtra может быть сохранен в качестве объекта и сохранен используя

ggsave('g.png',width=6,height=4,dpi=600) 

как бы вы сохранили выход grid.draw? Я попытался сохранить его с помощью Rstudio UI, но он сохраняет только один участок не друг рядом друг с другом

ответ

4

Забыл упомянуть, что ширина и высота png() будут зависеть от сюжета, который вы так играете с ним.

Это как сохраняется gtable объект:

в зависимости от сюжета, размеры PNG можно регулировать, чтобы надлежащим образом соответствовать сюжету

png("g.png",width = 1000, height = 600, units = "px") 
grid.draw(g) 
dev.off() 
Смежные вопросы