导出并重新导入ggplot对象

时间:2019-08-15 15:17:53

标签: r ggplot2

我有两个不同的(很长)R脚本,每个脚本最终产生两个ggplots(p和q)。

我想将这两个图保存为“ gg文件”,以便可以在第三个R脚本中重新上传它们,在这里我将使用ggarrange(或其他方式)合并它们以用于学术出版物。

如何将ggplots导出/导入为“ gg-objects”?

我很抱歉我的代码-我是新手

提前谢谢!

我研究了几种保存方法(例如ggsave,svg()def.off(),成像器程序包,rsvg程序包),但是没有一种方法可以满足我的需求。

# script A
rm(list = ls()) # clean environment
dat <- data.frame(x = 1:10, y = 1:10)
p <- ggplot(dat, aes(x = x, y = y)) + geom_point()

svg(filename = "p.svg") # saves as image
p
dev.off()

# script B
rm(list = ls()) # clean environment
dat <- data.frame(x = 1:10, y = 1:10)
q <- ggplot(dat, aes(x = x, y = y)) + geom_point()

# script C
rm(list = ls()) # clean environment

## import images - how?

## combine

ggarrange(
  p, q,
  nrow = 2
)

1 个答案:

答案 0 :(得分:1)

您可以这样保存它们:

xx <- ggplot(mtcars)+geom_histogram(aes(x=cyl))


save(xx, file = "G:/gpl.rdata")

然后加载它们:

load("G:/gpl.rdata")

这将带入整个对象,您可以看到用于构建绘图的数据和绘图的其他特征