将多个 gt 表合并为一个图

Combine multiple gt tables to single one plot

使用下面的代码(根据 here 中的代码编辑)我使用 gt 包生成了两个示例表:

library(tidyverse)
library(patchwork)
library(gt)

p1 <- mtcars %>% 
  head(5) %>% 
  gt()

p2 <- mtcars %>% 
  tail(5) %>% 
  gt()

# using wrap elements because this seems to be the answer to non-ggplot grobs e.g. #164 
wrap_elements(full = p1 | p2)
grid.arrange(p1, p2, ncol=2, top="Main Title")

输出:

Error in p1 | p2 : 
  operations are possible only for numeric, logical or complex types

我希望像 ggplot 对象一样将它们合并为一个:p <- (p1 | p2) 使用 patchwork 包,但我还没有找到有效的答案。

我还尝试使用 as_ggplot() 函数将其转换为 ggplot:

library(bstfun)

mtcars %>%
  head(5) %>%
  gt() %>% 
  as_ggplot()

但是它引发了一个错误:

Error: '.assert_package' is not an exported object from 'namespace:broom.helpers'

可以吗?提前感谢您的帮助。

参考:

我可以为您提供这个解决方案:

1.我们获取您的数据:

   p1 <- mtcars %>% 
      head(5) %>% 
      gt()

   p2 <- mtcars %>% 
      tail(5) %>% 
      gt()

2。让我们将您的表格保存为 .png 格式:

    p1 %>%
       gtsave("p11.png", path = "Your_working_dir")
    p2 %>%
       gtsave("p12.png", path = "Your_working_dir")

3。让我们合并您的表格:

    library(cowplot)
    p111 <- ggdraw() + draw_image("p11.png", scale = 0.8)
    p112 <- ggdraw() + draw_image("p12.png", scale = 0.8)
    plot_grid(p111, p112)

我们的结果: