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

如何在R Markdown中添加三张并排图片并设置单独标题?

解决方案

处理单独标题与图片间距的完整代码

library(png)
library(grid)
library(gridExtra)

# 读取图片并转为rasterGrob
img1 <- rasterGrob(as.raster(readPNG("~/Desktop/GIS/project/jpg/yek.png")), interpolate = FALSE)
img2 <- rasterGrob(as.raster(readPNG("~/Desktop/GIS/project/jpg/do.png")), interpolate = FALSE)
# 若需三张图,添加第三张
img3 <- rasterGrob(as.raster(readPNG("~/Desktop/GIS/project/jpg/third.png")), interpolate = FALSE)

# 为每张图片创建带标题的组合grob
plot1 <- arrangeGrob(img1, top = textGrob("图片1标题", gp = gpar(fontsize = 12, fontface = "bold")))
plot2 <- arrangeGrob(img2, top = textGrob("图片2标题", gp = gpar(fontsize = 12, fontface = "bold")))
plot3 <- arrangeGrob(img3, top = textGrob("图片3标题", gp = gpar(fontsize = 12, fontface = "bold")))

# 并排展示,设置列间距与边距
grid.arrange(plot1, plot2, plot3, ncol = 3, 
             gap = unit(1, "cm"),  # 控制列之间的空白间距
             bottom = unit(0.5, "cm"),  # 可选:底部边距
             left = unit(0.5, "cm"))    # 可选:左侧边距

关键说明

  • 单独标题:用arrangeGrob将图片grob和textGrob生成的标题绑定,top参数指定标题位置,gpar可调整标题的字体大小、样式。
  • 图片间距:grid.arrange的gap参数控制列(或行)之间的空白,单位支持cm、in等,可根据需求调整数值。
  • 若仅需两张图,删除img3和plot3相关代码,将ncol设为2即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:46:16