繁体   English   中英

ggplot中的网格排列的ggsave()选项

[英]ggsave() options for grid arrangements in ggplot

ggsave()似乎不适用于网格包(请参见下文)。 如何保存图p1和图p2组合。 以下代码仅保存ggplot()看到的最后一个图p2

library(tidyverse)
p1 <- ggplot(mpg, aes(fl)) + geom_bar()
p2 <- ggplot(mpg, aes(cty, hwy)) + geom_col()
grid.newpage()
grid.draw(rbind(ggplotGrob(p1), ggplotGrob(p2), size = "last"))
ggsave("mpg.png")

考虑使用gridExtra 如本小插图中所述gridExtragtable (高级布局方案)的基础,它为在页面上安排多个grob提供了更多便利,而grid程序包则提供了用于创建图形对象(grobs)的低级功能。

library(ggplot2)
library(gridExtra)

p1 <- ggplot(mpg, aes(fl)) + geom_bar()
p2 <- ggplot(mpg, aes(cty, hwy)) + geom_col()

p <- grid.arrange(p1, p2)

ggsave(plot=p, filename="myPlot.png")

绘图输出

您必须先分配新的组合,然后使用ggsave()进行打印。

# here I name it to_print    
  to_print <- rbind(ggplotGrob(p1), ggplotGrob(p2), size = "last")


ggsave(filename = "mpg.png", plot = to_print)

希望这可以帮助!

我想你可以做这样的事情。

#plotFile
g1=file.path(HomeDir,plotFile)
f1=grid.arrange(p1,p2, ncol=2, top=textGrob("Multiple Plots", gp=gpar(fontsize=12, font = 2))) #arranges plots within grid
g <- arrangeGrob(f1) #generates g
#save
ggsave(g1, g,width = 29.7, height = 21, units = 'cm') #saves g

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM