提问人:confusedindividual 提问时间:11/16/2023 最后编辑:Dave2econfusedindividual 更新时间:11/16/2023 访问量:22
在 powerpoint、excel 或 word 中列出可编辑的 ggplot
Make list of editable ggplots in powerpoint, excel, or word
问:
我正在尝试创建一种方法来制作 R 中的绘图列表,这些绘图可以转换为可编辑格式的 powerpoint、excel 或 word。我可以使用下面的代码和 officer 包来做到这一点,但 R 中的图形看起来与 powerpoint 中的输出/可编辑图形非常不同。有没有办法解决这个问题?我对 powerpoint、excel 或 word 的输出感到满意。但是我希望所有图表都位于单独的幻灯片/工作表/页面上的一个文档中,具体取决于文件输出类型。
创建数据集
specie <- c(rep("sorgho" , 3) , rep("poacee" , 3) , rep("banana" , 3) , rep("triticum" , 3) )
condition <- rep(c("normal" , "stress" , "Nitrogen") , 4)
value <- abs(rnorm(12 , 0 , 15))
df <- data.frame(specie,condition,value)
分组
set.seed(123)
df
p1 <- ggplot(df, aes(fill = condition, y = value, x = specie)) +
scale_fill_manual(
"Position",
values = c("black", "white", "lightgrey")
) +
scale_pattern_manual(
"Position",
values = c("none", "stripe", "none")
) +
geom_col_pattern(
aes(pattern = condition),
position = "dodge",
pattern_angle = 45,
pattern_density = .1,
pattern_spacing = .04,
pattern_fill = "black",
color = "black"
) +
theme_classic() +
theme(
text = element_text(size = 16, family = "sans"),
plot.title = element_text(hjust = 0.5, size = 20, face = "bold")
)
###put all plots in list using list()
plot_list <- list(p1,p1,p1)
dput(plot_list)
plot_list_dml <- lapply(
plot_list, \(x)
dml(
ggobj = x,
bg = "white",
editable = TRUE
)
)
plot_list_dml
doc <- read_pptx()
for (plot in plot_list_dml) {
doc <- add_slide(doc, "Title and Content", "Office Theme")
doc <- ph_with(doc, plot, location = ph_location_fullsize())
}
fileout <- "vectorGraphics.pptx"
print(doc, target = fileout)
答: 暂无答案
评论