You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 17:12:25