将 flextable、ggplot、文本和图像组合成一个网格对象,然后将其添加到 powerpoint 幻灯片
group a flextable, a ggplot, a text and an image together into a grid object, then add it to a powerpoint slide
我想知道是否可以将 flextable/regulartable、ggplot、文本和图像组合成一个网格对象,然后将该网格放入 PowerPoint 幻灯片中?
这对于在 power point 幻灯片中排列对象非常有用,而不必总是被迫计算每个对象的坐标。
我看到了一个通过 grid.arrange () 组合和排列 ggplot 对象的示例,但是如果我还想添加一个 flextable 或者可能是一个新的文本段落,它就不再起作用了.
有没有办法改进网格布局的表示层?
谢谢!
从 flextable 版本 0.5.3
开始是可能的。有很多方法可以实现,这里是一个例子:
library(ggplot2)
library(grid)
library(cowplot)
library(dplyr)
# remotes::install_github("davidgohel/flextable")
library(flextable)
gg1 <- ggplot(iris, aes(Sepal.Length, Petal.Length, color = Species) ) + geom_point()
ft_raster <- iris %>% group_by(Species) %>%
summarise_all(median) %>%
flextable() %>% autofit() %>%
as_raster()
gg2 <- ggplot() +
theme_void() +
annotation_custom(rasterGrob(ft_raster), xmin=-Inf, xmax=Inf, ymin=-Inf, ymax=Inf)
cowplot::plot_grid(gg1, gg2, nrow = 2, ncol = 1, rel_heights = c(3, 1) )
结果如下
我想知道是否可以将 flextable/regulartable、ggplot、文本和图像组合成一个网格对象,然后将该网格放入 PowerPoint 幻灯片中?
这对于在 power point 幻灯片中排列对象非常有用,而不必总是被迫计算每个对象的坐标。
我看到了一个通过 grid.arrange (
有没有办法改进网格布局的表示层?
谢谢!
从 flextable 版本 0.5.3
开始是可能的。有很多方法可以实现,这里是一个例子:
library(ggplot2)
library(grid)
library(cowplot)
library(dplyr)
# remotes::install_github("davidgohel/flextable")
library(flextable)
gg1 <- ggplot(iris, aes(Sepal.Length, Petal.Length, color = Species) ) + geom_point()
ft_raster <- iris %>% group_by(Species) %>%
summarise_all(median) %>%
flextable() %>% autofit() %>%
as_raster()
gg2 <- ggplot() +
theme_void() +
annotation_custom(rasterGrob(ft_raster), xmin=-Inf, xmax=Inf, ymin=-Inf, ymax=Inf)
cowplot::plot_grid(gg1, gg2, nrow = 2, ncol = 1, rel_heights = c(3, 1) )
结果如下