R语言使用officer与rvg导出ggplot2到自定义PPT模板时文字加粗问题
问题修复方案
你需要修改PPT模板的以下3类配置项即可解决该问题:
- 调整幻灯片母版默认文本样式
打开自定义PPT模板,点击「视图」选项卡进入「幻灯片母版」视图,找到你代码中调用的default母版,以及standard对应布局,选中所有内容占位符,右键选择「字体」,取消勾选「加粗」选项后保存母版设置。 - 重置主题默认字体配置
点击「设计」选项卡,在「变体」分组下选择「字体」-「自定义字体」,确认正文字体的默认字重为「常规」,没有绑定粗体字重文件。 - 可额外在ggplot代码中强制指定字重兜底
如果不想修改模板,可直接在ggplot主题中显式指定所有文本的字重为常规,避免继承模板样式,示例修改如下:plot <- ggplot(mtcars, aes(x = disp, y = mpg)) + geom_point() + theme( # 全局文本字重设为常规 text = element_text(fontface = "plain"), # 坐标轴文本单独指定 axis.text = element_text(fontface = "plain"), # 图例文本单独指定 legend.text = element_text(fontface = "plain") )
问题原因说明
rvg导出的DML矢量对象会默认继承插入位置的PPT占位符的字体样式,你使用的自定义模板中对应布局的内容占位符默认开启了加粗,所以导出的图表文字会自动加粗。officer默认模板的占位符没有开启默认加粗,直接导出ggplot是静态图片不受PPT样式影响,所以这两种场景都不会出现加粗问题。
内容的提问来源于stack exchange,提问作者daviddiviny
相关产品推荐
相关产品推荐

