使用 grid_draw 方法而不是 gridExtra 保存绘图
Saving plots using grid_draw method instead of gridExtra
我已经使用 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)
此方法包含在本 link
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 保存它,但它只保存了一个情节,而不是彼此相邻
忘了说 png ( ) 的宽度和高度将取决于您的情节,所以请尝试一下。
gtable对象是这样保存的:
根据情节,可以调整 png 的尺寸以适合情节
png("g.png",width = 1000, height = 600, units = "px")
grid.draw(g)
dev.off()
这应该有效。
png("g.png", plot=grod.draw(g), width = 1000, height = 600, units = "px")
dev.off()
ggsave('g.png', plot = g, width=6,height=4,dpi=600)
我已经使用 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)
此方法包含在本 link
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 保存它,但它只保存了一个情节,而不是彼此相邻
忘了说 png ( ) 的宽度和高度将取决于您的情节,所以请尝试一下。
gtable对象是这样保存的:
根据情节,可以调整 png 的尺寸以适合情节
png("g.png",width = 1000, height = 600, units = "px")
grid.draw(g)
dev.off()
这应该有效。
png("g.png", plot=grod.draw(g), width = 1000, height = 600, units = "px")
dev.off()
ggsave('g.png', plot = g, width=6,height=4,dpi=600)