r - 如何获取基础图形plot.new并通过arrangeGrob与其他图形结合?

标签 r ggplot2 gridextra r-grid

我有以下简化的用例。基本上我有一些 ggplot2 图,我想将它们与使用基本图形库 plot.new() 生成的另一个图结合起来。等等:

p1 <- generate_ggplot1(...)
p2 <- generate_ggplot2(...)
p3 <- generate_ggplot3(...)

# how to get hold of the plot output and make it available as 
# p4 for arrangeGrob?
plot.new()
...

final <- gridExtra::arrangeGrob(p1, p2, p3, p4, layout_matrix = rbind(c(1,2), c(3,4)), widths=c(7,7), heights=c(7,7))
ggplot2::ggsave(filename=output.file,plot=final,width=14,height=14)

有哪些选项可以做到这一点?与将 p4 重写为原生不同 ggplot2

最佳答案

尝试this ,

library(gridGraphics)
library(grid)
library(gridExtra)
library(ggplot2)

grab_grob <- function(...){
  grid.echo(...)
  grid.grab()
}

b <- grab_grob(function() plot(cars))
g <- ggplot()

grid.arrange(b, g)

关于r - 如何获取基础图形plot.new并通过arrangeGrob与其他图形结合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45899459/

相关文章:

r - 如何在ggplot facet_wrap文本中添加数学符号?

r - 传说并没有深入到底部

r - 如何水平对齐图(ggplot2)?

r - R中同一窗口中的多个不同大小的图?

R : combine and save rgl widgets as a single html file

使用 TTR 和 data.table 滚动平均值和 sd 不包括实际值

r - R中igraph中与转置边缘列表的邻接

r - 如何切换 Shiny 数据表中显示的页面?

r - 如何更改 R 华夫饼图中 "tile grout"的颜色以匹配背景

r - 是否可以用ggplot2绘制gam拟合的平滑分量?