如何在Rmd knit为PDF时让R代码块生成的单列多行图形居中?
解决R Markdown生成PDF时两行单列子图顶部未居中的问题
你遇到的问题是使用subfig依赖生成两行单列子图时,顶部子图未居中仅底部居中,无需使用par()的解决方法如下:
核心解决方案
在绘图代码块中添加fig.pos="h!"参数,强制LaTeX环境正确应用居中对齐,同时保留原有的fig.align="center"和out.width="50%"设置即可。
修改后的完整代码
YAML头部分
--- title: "Stack the figures in two rows" output: pdf_document: extra_dependencies: "subfig" ---
绘图代码块
plot(rnorm(10), rnorm(10)) plot(rnorm(10), rnorm(10))
原理说明
当搭配subfig包使用fig.nrow生成子图时,默认LaTeX环境可能存在对齐偏差,fig.pos="h!"会强制将图形放置在当前位置,并让子图容器正确继承fig.align="center"的居中规则,最终实现两行子图全部居中显示。
内容的提问来源于stack exchange,提问作者medium-dimensional
相关产品推荐
相关产品推荐

