过去一周我一直在拔头发试图找出基本的R编码,但似乎无法到达任何地方(自2013年以来没有用过R而不是它的一个很好的借口)。
我想要的只是一个 4x8网格,由32个.png文件组成(我做过的地图),我希望一次只加载一个图像文件({ {3}})。
所以我想我可以在文件夹中加载图像(如果我的信念是bs,请纠正我)
img <- list.files(path='c:/a',patt='compo[0-32].*',full.names=T)
然后我想的可能是par(mfrow=c())
,layout
,grid.arrange
(http://www.statmethods.net/advgraphs/layout.html),grid.raster
(writing png plots into a pdf file in R) - 我已经阅读并进行了相应的实验,并没有带来任何有价值的东西..
后者我只使用以下结果
这让我傻笑。 我并不认为lattice
无论如何都要走。
非常感谢任何帮助!
答案 0 :(得分:5)
不确定您对加载所有图像文件的担忧是什么 - 您还能如何阅读其数据以创建新图像?
ETA:要加载文件,我只使用png::readPNG
。收集图像的一种方法是(此处选择12张图像)
filenames<-dir(pattern='compo')
foo<-list()
for(j in 1:12) foo[[j]]<-readPNG(filenames[j]
如果您愿意加载它们并使用基础plot
工具,那么layout
就是您想要的命令。例如,加载了12张图像
layout(matrix(1:12,nr=4,byr=T))
for (j in 1:12) plot(foo[[j]])
答案 1 :(得分:0)
另一种方法是使用readPNG读取PNG图像,然后使用grid和gridExtra:
library(png)
library(grid)
library(gridExtra)
plot1 <- readPNG('plot1.png')
plot2 <- readPNG('plot2.png')
grid.arrange(rasterGrob(plot1),rasterGrob(plot2),ncol=1)