3

我使用 gridExtra 创建了 2 个相邻的图,我可以使用 ggsave 保存对象

但是,这些图在 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)

此方法已在此链接中介绍

在 ggplot 中对齐图的危险

它对我的图表非常有效,但是当我保存

object <- grid.draw(g)

当我尝试查看对象时,该对象为 NULL,但我不确定如何将其保存为 png

gridExtra 方法可以保存为对象并使用

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

你将如何保存 grid.draw 输出?我尝试使用 Rstudio UI 保存它,但它只保存一个情节,而不是彼此相邻

4

3 回答 3

4

忘了提到 png ( ) 的宽度和高度将取决于你所玩的情节。

这是 gtable 对象的保存方式:

根据情节,可以调整 png 的尺寸以适当地适合情节

png("g.png",width = 1000, height = 600, units = "px") 
grid.draw(g) 
dev.off()
于 2015-10-15T02:57:10.867 回答
0
ggsave('g.png', plot = g, width=6,height=4,dpi=600)
于 2019-02-01T20:48:58.093 回答
0

这应该有效。

png("g.png", plot=grod.draw(g), width = 1000, height = 600, units = "px")
dev.off()
于 2019-01-30T16:24:02.533 回答