【发布时间】:2018-07-30 14:41:48
【问题描述】:
我正在使用 R 包mschart 将 MS 图表填充到 PPT 中。我已经使用ph_with_chart_at 函数将多个图表添加到一张幻灯片中,以定义 ppt 的位置。但是,地块太小了。
如何调整绘图的大小?
示例:
这里是示例代码,当你打开ppt时,我想放大绘图区域的大小或控制y轴之间的空间40%、50%、60%...
library(officer)
library(mschart)
library(dplyr)
data <- data.frame(Name=c("a","a","a","a","b","b","b","b"),
wave_id=c("2017Q1","2017Q2","2017Q3","2017Q4","2017Q1","2017Q2","2017Q3","2017Q4"),
pct=c(0.68,0.71,0.70,0.72,0.57,0.57,0.57,0.58))
data1 <- data%>%
ms_linechart(x="wave_id",y="pct",group="Name")%>%
chart_labels(title=NULL,xlab="",ylab="")%>%
chart_ax_y(limit_min = 0.4,limit=0.8,
num_fmt='0%%',major_tick_mark="none",minor_tick_mark="none")
data1_theme<- mschart_theme(
legend_text = fp_text(font.size=8),
axis_text = fp_text(font.size=8),
legend_position = "r",
grid_major_line=fp_border(width=))
pptsdata1 <- set_theme(data1,data1_theme)
doc <- read_pptx()
doc <-doc%>%
add_slide(layout = "Title and Content", master = "Office Theme")%>%
ph_with_chart_at(chart=pptsdata1,left=1,top=2,height=1.55,width=8)
print(doc, target = "my_plot.pptx")
如果查看输出的图形,您可以看到该图只占用了一小部分绘图区域,并且在图周围留下了很多空白:
【问题讨论】:
-
你能提供一个你的问题的基本例子吗?在此处查看如何制作可重现的示例:stackoverflow.com/questions/5963269/…
-
另外,您是否尝试过
ph_with_chart_at函数中的width和height参数? -
ph_with_chart_at中的width和height参数用于控制图表在ppt上的位置。我同意。我的问题是在创建折线图时,绘图区域很小,我需要去ppt手动调整绘图区域的大小以适应报表。
-
根据documentation、
left和top应该控制现有幻灯片上的位置。如果您可以提供示例代码,我将很乐意提供帮助:目前我只能猜测您的问题。请编辑问题以包含此示例。