gpt4 book ai didi

r - 如何将表格添加到ggplot?

转载 作者:行者123 更新时间:2023-12-03 18:28:36 25 4
gpt4 key购买 nike

我正在尝试组合(在单个图表中)常规 ggplot带有通过 flextable 获得的表格的图表.

考虑以下示例:

library(tidyverse)
library(patchwork)

mydf <- tibble(a = c(1,2,3,4,5,4),
b = c(4,4,4,3,3,3))

p1 <- mydf %>% ggplot(aes(x = a, y = b, color = as.factor(b))) + geom_point()

p2 <- mydf %>% flextable::flextable()
p2好像

enter image description here

但不幸的是我不能将它与 p1 结合使用
> p1 + p2
Error: Don't know how to add p2 to a plot

我们可以做什么?
谢谢!

最佳答案

您可以使用函数 flextable::as_raster从 flextable 中获取栅格,然后添加 annotation_custom到一个空的 ggplot 对象。

library(ggplot2)
library(flextable)
library(grid)
library(cowplot)
library(tidyverse)

mydf <- tibble(a = c(1,2,3,4,5,4),
b = c(4,4,4,3,3,3))

p1 <- mydf %>% ggplot(aes(x = a, y = b, color = as.factor(b))) + geom_point()

ft_raster <- mydf %>% flextable::flextable() %>%
as_raster()

p2 <- ggplot() +
theme_void() +
annotation_custom(rasterGrob(ft_raster), xmin=-Inf, xmax=Inf, ymin=-Inf, ymax=Inf)

cowplot::plot_grid(p1, p2, nrow = 2, ncol = 1, rel_heights = c(4, 1) )

enter image description here

文档在这里: https://davidgohel.github.io/flextable/articles/offcran/images.html

关于r - 如何将表格添加到ggplot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60349028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com