而不是使用png
,对于 PPT 中的高分辨率绘图,您应该使用矢量图形。
见下扩展:
带包的矢量图形rvg
rvg包带来了一个 API 来生成漂亮的矢量图形,可以嵌入到 PowerPoint 文档或 Excel 工作簿中officer
。
这个包提供了将ggplots导出为.pptx作为矢量图形的 功能dml()
和相应的方法。ph_with()
例子:
library(ggplot2)
library(officer)
library(rvg)
library(magrittr)
data(iris)
read_pptx() %>%
add_slide(layout='Title and Content',master='Office Theme') %>%
ph_with('Iris Sepal Dimensions', location = ph_location_type(type="title")) %>%
ph_with(dml( ggobj=
ggplot(iris, aes(x=Sepal.Length,y=Sepal.Width,col=Species)) +
geom_point()), location = ph_location_type(type="body")) %>%
print('iris_presentation.pptx')
作为额外的好处,您将能够在 PowerPoint 中编辑图表。例如,如果您决定将 3 个物种的名称大写,您可以只编辑图表,而不是编辑数据并重新生成幻灯片。(您也可以使绘图不可编辑,但可编辑是默认设置。)