如何使用R将饼图保存到ppt幻灯片中?
How to save Pie chart into ppt slides using R?
我想将我的 R 饼图保存到 pptx,所以我设法到达了代码的最后一步。
df <- data.frame(Type = c('x','y'),Count = c(177,41))
ggplt <- ggplot(df, aes(x = "", y = Count, fill = Type)) +
geom_col(width = 1) +
scale_fill_manual(values = c("red", "yellow")) +
coord_polar("y") +
geom_text(aes(label = paste0("Count=",Count)), position = position_stack(vjust = 0.5))+
labs(title = "Employees Count")
myppt <- read_pptx()
myppt <- add_slide(myppt,layout="Two Content",master = "Office Theme")
myppt <- ph_with(myppt,type = "body",value = ggplt,location = ph_location_left())
而 运行 ph_with()
的最后一条语句我收到错误消息:
Error in match.arg(type) :
'arg' should be one of “windows”, “cairo”, “cairo-png”
如果有人能告诉我我在哪里搞砸了,我将不胜感激!!
你应该看看 rmarkdown
。有了它,您可以将您的文件或报告编织(转换)为 pptx 文件。要访问它,您可以在 rstudio 中单击新文件,然后按新的 markdown 文件。
问题是您在 ph_with
中使用了 type="body"
,但是没有 type
参数。因此,type
参数通过 ...
传递给 png()
函数,这导致了神秘错误。
这就是说,您可以通过删除 type="body"
:
来达到您想要的结果
library(officer)
library(ggplot2)
df <- data.frame(Type = c('x','y'),Count = c(177,41))
ggplt <- ggplot(df, aes(x = "", y = Count, fill = Type)) +
geom_col(width = 1) +
scale_fill_manual(values = c("red", "yellow")) +
coord_polar("y") +
geom_text(aes(label = paste0("Count=",Count)), position = position_stack(vjust = 0.5))+
labs(title = "Employees Count")
myppt <- read_pptx()
myppt <- add_slide(myppt,layout="Two Content",master = "Office Theme")
myppt <- ph_with(myppt, value = ggplt, location = ph_location_left())
print(myppt, "foo.pptx")
我想将我的 R 饼图保存到 pptx,所以我设法到达了代码的最后一步。
df <- data.frame(Type = c('x','y'),Count = c(177,41))
ggplt <- ggplot(df, aes(x = "", y = Count, fill = Type)) +
geom_col(width = 1) +
scale_fill_manual(values = c("red", "yellow")) +
coord_polar("y") +
geom_text(aes(label = paste0("Count=",Count)), position = position_stack(vjust = 0.5))+
labs(title = "Employees Count")
myppt <- read_pptx()
myppt <- add_slide(myppt,layout="Two Content",master = "Office Theme")
myppt <- ph_with(myppt,type = "body",value = ggplt,location = ph_location_left())
而 运行 ph_with()
的最后一条语句我收到错误消息:
Error in match.arg(type) :
'arg' should be one of “windows”, “cairo”, “cairo-png”
如果有人能告诉我我在哪里搞砸了,我将不胜感激!!
你应该看看 rmarkdown
。有了它,您可以将您的文件或报告编织(转换)为 pptx 文件。要访问它,您可以在 rstudio 中单击新文件,然后按新的 markdown 文件。
问题是您在 ph_with
中使用了 type="body"
,但是没有 type
参数。因此,type
参数通过 ...
传递给 png()
函数,这导致了神秘错误。
这就是说,您可以通过删除 type="body"
:
library(officer)
library(ggplot2)
df <- data.frame(Type = c('x','y'),Count = c(177,41))
ggplt <- ggplot(df, aes(x = "", y = Count, fill = Type)) +
geom_col(width = 1) +
scale_fill_manual(values = c("red", "yellow")) +
coord_polar("y") +
geom_text(aes(label = paste0("Count=",Count)), position = position_stack(vjust = 0.5))+
labs(title = "Employees Count")
myppt <- read_pptx()
myppt <- add_slide(myppt,layout="Two Content",master = "Office Theme")
myppt <- ph_with(myppt, value = ggplt, location = ph_location_left())
print(myppt, "foo.pptx")