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

如何用Base R绘制共享标题与X轴标签的并排子图?

解决Base R并排子图共享标题与轴标签居中问题

直接修改你的代码,核心是利用mtext()的outer参数让标签基于整个绘图设备居中,同时调整边距避免重叠:

dev.off()
# 调整全局边距:底部留3行放共享X轴,顶部留3行放总标题,左右按需设置
par(mar = c(3, 4, 3, 1))

# 创建1行2列的布局
layout(matrix(c(1, 2), nrow = 1))

# 第一个子图:去掉xlab,保留子标题(不需要可以删掉main)
plot(1:10, 1:10, main = "Plot 1", type = "l", col = "blue", xlab = "")

# 第二个子图:去掉xlab和main
plot(1:10, (1:10)^2, main = "", type = "l", col = "red", xlab = "")

# 添加居中的共享X轴标签:outer=TRUE表示基于整个设备区域
mtext("Common X-axis Label", side = 1, line = 1.5, outer = TRUE)

# 添加居中的总标题
mtext("Overall Title", side = 3, line = 1.5, outer = TRUE, cex = 1.2, font = 2)

# 重置布局和边距
layout(1)
par(mar = c(5,4,4,2)+0.1) # 恢复默认边距

关键修改说明:

  • par(mar = ...):调整子图的边距,给顶部和底部留出足够空间放置总标题和共享X轴标签,避免和子图内容重叠。
  • mtext(outer = TRUE):默认mtext只在当前活动子图的区域内定位,开启outer=TRUE后,会以整个绘图窗口为参考系,自然实现居中效果。
  • 两个子图都设置xlab = "",避免重复的X轴标签,把空间留给共享标签。

内容的提问来源于stack exchange,提问作者Linus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 14:01:03