在 R 中绘制多个 .TIFF 图像和各个标题

Plotting multiple .TIFF images together with individual titles in R

我想在 R 中绘制多个 .TIFF 图像并为它们添加单独的标题。没有标题,这段代码就完成了工作:

require(raster)

setwd("...")
files = list.files(pattern="*.tif")

tiff("balanded_1.tiff", units="in", width=21, height=26, res=300, compression = 'lzw') #for saving

par(mfrow=c(5,3)) 

for (i in 1:15) {
  plotRGB(brick(files[i]))
}

dev.off() #save figure

但是,如果我尝试使用 'plotRGB()' 为图像添加单独的标题,它会自动为它们添加轴(因为 'axes=TRUE' 成为 'plotRGB()' function 中的要求),并且我得到这样的东西:

plotRGB(brick(files[2]), axes=TRUE, main="TITLE", xlab="", ylab="")

我知道 'plotRGB()' 可能不是这项工作的正确功能(因为我不是在绘制地图),但我想知道是否有办法让它工作?如果没有,我可以使用替代方案吗?提前谢谢你。

我设法使用更合适的图像处理包找到了解决此问题的方法:

require(magick)

setwd("...")
files = list.files(pattern="*.tif")

tiff("balanded_1.tiff", units="in", width=21, height=26, res=300, compression = 'lzw')
par(mfrow=c(5,3)) 
for (i in 1:15) {
  name <- files[i] 
  lag <- strsplit(name, "_")[[1]][2] #get the name right for the image
  match <- strsplit(name, "_")[[1]][4]
  lead <- strsplit(name, "_")[[1]][6]
  lead <- strsplit(lead, ".tiff")[[1]][1]
  name <- paste("   Lag=",lag,", Match=1:",match,", Lead=",lead, sep = "") #put the name together
  img <- image_annotate(image_read(files[i]), name, font = 'Times', size = 120) #read the image and add the name
  img <- image_crop(img, "1500x1050")
  plot(img) 
}
dev.off() #save figure