使用officer导出时如何提高GGR图的分辨率

使用officer导出时如何提高GGR图的分辨率,r,ggplot2,officer,R,Ggplot2,Officer,我想将图表导出到PPT,并使用officer软件包实现同样的功能。然而,图表的默认分辨率很低,我想改变这一点。我目前正在使用以下呼叫 ph_with_gg(p1,type = "chart",res = 1200) 其中p1是ggplot对象。运行此命令时,我收到以下错误: Error in png(filename = file, width = width, height = height, units = "in", : formal argument "res

我想将图表导出到PPT,并使用officer软件包实现同样的功能。然而,图表的默认分辨率很低,我想改变这一点。我目前正在使用以下呼叫

    ph_with_gg(p1,type = "chart",res = 1200)
其中p1是ggplot对象。运行此命令时,我收到以下错误:

    Error in png(filename = file, width = width, height = height, units = 
"in",  : 
  formal argument "res" matched by multiple actual arguments

非常感谢您对这方面的帮助

将绘图保存到代码中的演示文稿是否重要

否则使用:

ggsave(filename = file, p1, width = width, height = height, dpi = dpi)
将为您提供所需的任何分辨率的png


(如果文件名以.png结尾,并且您将宽度、高度和dpi设置为适当的值)

将绘图保存到代码中的演示文稿是否重要

否则使用:

ggsave(filename = file, p1, width = width, height = height, dpi = dpi)
将为您提供所需的任何分辨率的png


(如果文件名以.png结尾,并且您将宽度、高度和dpi设置为适当的值)

而不是使用
png
,对于PPT中的高分辨率绘图,您应该使用矢量图形

见下:

带包装的矢量图形
rvg

该包将一个API带到 生成可以嵌入PowerPoint的漂亮矢量图形 带有
官员的文档或Excel工作簿

此软件包提供函数
dml()
ph\u with()
将ggplots作为矢量图形导出到.pptx的相应方法

例如:

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个物种的名称大写,您可以编辑图表,而不是编辑数据和重新生成幻灯片。(您也可以使绘图不可编辑,但默认为可编辑。)

而不是使用
png
,对于PPT中的高分辨率绘图,您应该使用矢量图形

见下:

带包装的矢量图形
rvg

该包将一个API带到 生成可以嵌入PowerPoint的漂亮矢量图形 带有
官员的文档或Excel工作簿

此软件包提供函数
dml()
ph\u with()
将ggplots作为矢量图形导出到.pptx的相应方法

例如:

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个物种的名称大写,您可以编辑图表,而不是编辑数据和重新生成幻灯片。(您也可以使绘图不可编辑,但默认为可编辑。)

感谢您指向此软件包。它有一个名为phu和vg的函数来解决这个问题。非常感谢汉克斯指向这个包裹。它有一个名为phu和vg的函数来解决这个问题。非常感谢。您如何知道什么值适合设置dpi?您好。您如何知道什么值适合设置dpi?