【问题标题】:Placing two venn diagrams on one chart在一张图表上放置两个维恩图
【发布时间】:2018-05-28 17:13:44
【问题描述】:

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

grid::grid.draw(vg2)

问题

我怎样才能创建一个网格对象,其中两个图都放在另一个之下?

尝试

grdFrme <- grid::grid.frame(name = "gf")
grid::grid.pack("gf", vg1)

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

期望的结果

【问题讨论】:

  • 我相信使用gridExtra 包也很容易。在某一时刻,我想出了如何在 grid 本身中做到这一点,但这有点痛苦。

标签: r charts r-grid venn-diagram


【解决方案1】:

一种解决方案可能是使用很棒的multipanelfigure 包(在面板中填充基本、'lattice'、'ggplot2' 和 'ComplexHeatmap' 图、grobs 以及 PNG、JPEG、SVG 和 TIFF 图像 em>)。

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

figure %<>% 
    fill_panel(vg1) %<>%
    fill_panel(vg2)

【讨论】:

    猜你喜欢
    • 2022-12-03
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    相关资源
    最近更新 更多