r - 将两个维恩图放在一张图表上

标签 r charts r-grid venn-diagram

使用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

当通过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)

Error in packGrob(grid.get(gPath), grob, side, row, row.before, row.after, : invalid 'grob'

期望的结果

both graphs

最佳答案

一种解决方案可能是使用 Awesome multipanelfigure包(用基础图、“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)

enter image description here

关于r - 将两个维恩图放在一张图表上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50570952/

相关文章:

android - 使用 GraphView 库的 BarChartGraph 中的空白区域

c# - 使用 PDFsharp 制作表格和图表

r - 如果您使用的是 Forestplot R 包,如何添加脚注?

r - 如何将wordcloud放入grob中?

r - 如何在 GGally 中使用您自己的密度函数创建较低密度图

r - 如何使用两个分类变量进行交叉表,但用第三个变量的均值填充它

JavaFX(八)——提高散点图性能

从ggplot2图中删除右边框

r - 如何根据值的实际顺序将数字转换为字母?

r - 将分组数据过滤到分组发生变化的行