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

R语言中使用mtext()命令添加的外层标题为何无法显示?

解决多子图中外层标题不显示的问题

我太懂这种明明参数都加了,结果标题就是不出来的憋屈感了!其实问题核心是R默认不会为外层标题预留空间,当你用mfrow切分好子图后,外层标题直接被挤到绘图区域外面去了,自然看不到。

给你调整后的可运行代码,亲测有效:

# 生成测试数据
mt = as.data.frame(matrix(data = rnorm(n = 400), ncol = 4))

# 先设置外层边距(oma参数顺序:下、左、上、右)
# 这里给顶部预留2行空间放标题,数值可以按需调整
par(oma = c(0, 0, 2, 0))
# 开启2×2的子图布局
par(mfrow = c(2,2))

# 绘制四个密度图
plot(density(mt$V1))
plot(density(mt$V2))
plot(density(mt$V3))
plot(density(mt$V4))

# 添加外层标题,line控制距离顶部的位置,cex调整字号
mtext(text = "Test", outer = TRUE, side = 3, line = 0.5, cex = 1.5)

关键细节说明:

  • par(oma=c(0,0,2,0)):必须在mfrow之前调用,它会在整个绘图区域的顶部划出空白区域,让外层标题有地方显示。
  • line=0.5:可以调整标题和顶部边缘的距离,比如改成1会让标题更靠下一点,改成0则紧贴顶部。
  • cex=1.5:直接在这里控制标题的字号大小,完全满足你的需求。

如果你觉得mtext用着不习惯,也可以用title()函数替代,效果完全一致:

title(main = "Test", outer = TRUE, cex.main = 1.5, line = 0.5)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:43:02