在一张图表上放置两个维恩图

Kon*_*rad 5 charts r venn-diagram r-grid

使用VennDiagram包,我通过以下方式生成两个图形:

# First graph
VennDiagram::draw.pairwise.venn(
    area1 = 100,
    area2 = 70,
    cross.area = 30,
    category = c("A1", "B1"),
    fill = c("#00204DFF", "#FFEA46FF")
) -> vg1

# Second graph
VennDiagram::draw.pairwise.venn(
    area1 = 120,
    area2 = 80,
    cross.area = 10,
    category = c("A2", "B2"),
    fill = c("#000004FF", "#FCFFA4FF")
) -> vg2
Run Code Online (Sandbox Code Playgroud)

通过调用时grid::grid.draw(vg1)grid::grid.draw(vg2)图表按预期显示:

grid::grid.draw(vg1) vg1

grid::grid.draw(vg2) vg2

我如何创建一个将两个图都放在另一个图下的网格对象?

尝试

grdFrme <- grid::grid.frame(name = "gf")
grid::grid.pack("gf", vg1)
Run Code Online (Sandbox Code Playgroud)

packGrob(grid.get(gPath),grob,side,row,row.before,row.after中的错误:无效的'grob'

所需结果

两个图

PoG*_*bas 4

一种解决方案可能是使用 Awesomemultipanelfigure包(用基础图、“lattice”、“ggplot2”和“ComplexHeatmap”图、grob 以及 PNG、JPEG、SVG 和 TIFF 图像填充面板)。

library(multipanelfigure)
figure <- multi_panel_figure(columns = 1, rows = 2)

figure %<>% 
    fill_panel(vg1) %<>%
    fill_panel(vg2)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述