gpt4 book ai didi

python - 来自 python : equivalent of officer and rvg 的 PowerPoint 中的可编辑绘图

转载 作者:行者123 更新时间:2023-12-02 14:38:53 26 4
gpt4 key购买 nike

我正在使用 officerrvg 包将 R 中的绘图作为可编辑矢量图形导入 MS PowerPoint。下面是可重现的示例。

我正在寻找一种使用 python 实现等效解决方案的方法,最好使用matplotlib。关键部分不是从 IDE 创建幻灯片,而是可编辑矢量图形部分,即绘图最终应在 PowerPoint 中作为由一系列简单的 Powerpoint 几何图形(如线条、正方形和文本字段)组成的分组对象出现。

R 示例:

library(tidyverse)
library(officer)
library(rvg)

# Get some data and make a plot
ggp <- diamonds %>%
group_by(clarity) %>%
summarise(price = mean(price)) %>%
ggplot(aes(x = clarity, y = price, fill = clarity)) +
geom_bar(stat = 'identity', colour = 'black')

# Create a new powerpoint document
doc <- read_pptx()
doc <- add_slide(doc, 'Title and Content', 'Office Theme')
# Add the plot
doc <- ph_with_vg(doc, ggobj = ggp, type = 'body')

# Write the document to a file
print(doc, target = 'plots.pptx')

生成的图表是完全可编辑的:

enter image description here

最佳答案

自 2019 版 MS Office 起,您可以将 svg 文件添加为图像,然后取消分组以使其可编辑。请参阅此 MS page 上的“将 SVG 图像转换为 Office 形状” 。然而,根据我个人的经验,这既不是很稳定,也不是很完整

另一种更稳定、更完整的方法,尽管仍然不完美,即将其作为 emf 文件导入到 powerpoint 中,这也是一种矢量格式。旧版本的 matplotlib 可以导出为这种格式。对于较新版本,我导出为 svg,然后使用 inkscape --file "input.svg"--export-emf "output.emf" 转换为 emf,然后我将其加载到 powerpoint 中。如果一切正常,再次取消对象分组就可以进行编辑。

关于python - 来自 python : equivalent of officer and rvg 的 PowerPoint 中的可编辑绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48944296/

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