ph_with_vg 和 R 上的 ggplot

ph_with_vg and ggplot on R

我可以使用以下代码使用 ggplot 创建我想要的图表:

    ggplot(data, aes(x=as.Date(data$Date, "%d/%m/%Y"), y=items)) + geom_col(fill="#00cccc")

但是,当我将它与我的完整代码一起使用时,我收到一条错误消息 "StartTag:invalid element name [68]"

    my_pres<-
      # Load template
      read_pptx("C:/Users/USERNAME/Desktop/template.pptx") %>%
      # 02 - SLIDE
      add_slide(layout="Title with Subtitle and Content", master="MySlides2016") %>%
      # 02 - Title
      ph_with_text(type = "title", str = "Items by Day") %>%
      # 02 - Chart
      ph_with_vg_at(code = ggplot(data, aes(x=as.Date(data$Date, "%d/%m/%Y"), y=items)) + geom_col(fill="#00cccc"),left = 1, top = 2, width = 6, height = 4)

如果您阅读可用的文档 here,它说您必须在函数 ph_with_vg_at 中使用 print(your_ggplot_object),因此您可以这样做:

library("officer")
library("rvg")
library("magrittr")
library("ggplot2")

gg <- ggplot(mtcars, aes(x = mpg , y = wt, colour = qsec)) + geom_point() + theme_minimal()

my_pres<-
  # Load template
  read_pptx() %>%
  # 02 - SLIDE
  add_slide(layout = "Title and Content", master = "Office Theme") %>%
  # 02 - Title
  ph_with_text(type = "title", str = "Items by Day") %>%
  # 02 - Chart
  ph_with_vg_at(code = print(gg),left = 1, top = 2, width = 6, height = 4)

# Save
tmp <- tempfile(fileext = ".pptx")
print(my_pres, target = tmp)

# Open
browseURL(tmp)