添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
R语言中画的图怎么导出可编辑图表到PPTX?

R语言中画的图怎么导出可编辑图表到PPTX?

最近遇到一个问题, R语言中画的图怎么导出到PPT可以便于其他同事后续编辑

为解决这个问题,大体上有两种思路:

  1. 思路一是将数据按照PPT适宜的格式导出,再用PPT里自带的图表工具,通过编辑数据即可画图,缺点在于已经画好了图还得重新在PPT里画一遍,如果是一些比较复杂的图形,使用PPT未必能快速完成。
  2. 思路二是想办法将R的图对象直接导出为PPT可编辑的对象,这样会比较便捷

这篇文章主要讲讲思路二的具体实现方法,总体上是借助{officer}这个包【可直接跳到方法3】。如未安装请先:

install.packages("officer")
library(officer)

方法1(仅能插入图片到PPTX中):

library(ggplot2)
library(tidyverse)
# 用iris数据画个简单的散点图
g = ggplot(iris, 
           aes(x = Sepal.Length, y = Sepal.Width)) + 
    geom_point(aes(color = Species))
# 这里使用officer包的相关函数将画图形成的ggplot对象赋值给doc
doc <- read_pptx() %>% 
       add_slide() %>% 
       ph_with(value = g, location = ph_location_fullsize())
# 导出pptx文件
print(doc, target = "iris.pptx")

找到刚刚生成的iris.pptx文件,发现居然只是个图片!看来这个方法只适用于想直接生成图片进PPT文件。


方法2(半可编辑):

借助rvg包

library(rvg)
# 用iris数据画个简单的散点图
g = ggplot(iris, 
           aes(x = Sepal.Length, y = Sepal.Width)) + 
    geom_point(aes(color = Species))
# 将这个ggplot对象转化成可编辑的对象
editable_graph <- dml(ggobj = g)