R/exams中exams2html正常显示图表但exams2pdf丢失图表求助
解决R/exams图形在PDF输出中丢失的问题
核心原因与修复方案
1. 修正代码块的Chunk选项
生成图形的代码块必须配置正确的输出参数:
- 必须添加
echo=FALSE(隐藏代码)和results="hide"(仅保留图形输出) - 对于ggplot2对象,必须明确调用
print()函数触发图形渲染(基础绘图无需此步骤,但ggplot2依赖显式打印)
示例正确代码块:
library(ggplot2) p <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() print(p) # 关键:显式打印ggplot对象
2. 指定图形输出格式为PDF
在代码块中设置dev="pdf",避免格式转换时的兼容性问题:
# 你的绘图代码
3. 检查LaTeX模板配置
如果使用自定义LaTeX模板,确保模板中包含图形支持的包:
\usepackage{graphicx} % 必须包含,用于渲染PDF中的图形
默认的exams模板已包含此配置,自定义模板时需注意。
4. 更新依赖包至最新版本
旧版本的exams、knitr或rmarkdown可能存在渲染BUG,执行以下命令更新:
update.packages(c("exams", "knitr", "rmarkdown"))
验证步骤
- 单独运行绘图代码,确认图形能正常生成
- 修改Chunk选项后,重新执行
exams2pdf() - 检查生成的PDF文件,确认图形是否显示
内容的提问来源于stack exchange,提问作者Florian Oswald
相关产品推荐
相关产品推荐

