Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在网格中排列多个(32).png文件_R_Png_Grid Layout - Fatal编程技术网

R 在网格中排列多个(32).png文件

R 在网格中排列多个(32).png文件,r,png,grid-layout,R,Png,Grid Layout,在过去的一周里,我一直在绞尽脑汁试图找出基本的R编码,但似乎一事无成(从2013年起就没有使用过R,这不是一个很好的借口) 我想要的是一个由32个.png文件组成的4x8网格(我制作的地图),我不想一次加载一个图像文件() 因此,我认为我可以在文件夹中加载图像(如果我的信念是bs,请纠正我) img不确定加载所有图像文件时您关心的是什么——否则您如何读取它们的数据来创建新图像 ETA:要加载文件,我只需要使用png::readPNG。收集图像的一种方法是(此处选择12幅图像) 另一种方法是使用r

在过去的一周里,我一直在绞尽脑汁试图找出基本的R编码,但似乎一事无成(从2013年起就没有使用过R,这不是一个很好的借口)

我想要的是一个由32个.png文件组成的4x8网格(我制作的地图),我不想一次加载一个图像文件()

因此,我认为我可以在文件夹中加载图像(如果我的信念是bs,请纠正我)


img不确定加载所有图像文件时您关心的是什么——否则您如何读取它们的数据来创建新图像

ETA:要加载文件,我只需要使用
png::readPNG
。收集图像的一种方法是(此处选择12幅图像)


另一种方法是使用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)
库(png)
图书馆(网格)
图书馆(gridExtra)

图1显示的不是你应该用R来做这个。对于您的问题描述,我可能会使用ImageMagick:您可以使用光栅包将它们读取为砖块或堆栈,然后将它们cbind/rbind到一个大图像中……这个答案很有用,嗨,我有一个类似的Q,但有500多个图像。当我试图在这里回答你的问题时,经过长时间的等待,它终于破裂了。你能帮忙吗?尝试使用magickr和拼贴图像包,但没有达到我想要的效果need@user5249203我发现,通过尝试组合500幅图像,不太可能生成任何有用的信息。如果你连续地打开它们,将每一个样本缩小到原始尺寸的10%,你可能会用它们来制作马赛克,但其他的就不多了
filenames<-dir(pattern='compo')
foo<-list()
for(j in 1:12) foo[[j]]<-readPNG(filenames[j]
layout(matrix(1:12,nr=4,byr=T))
for (j in 1:12) plot(foo[[j]])
library(png)
library(grid)
library(gridExtra)

plot1 <- readPNG('plot1.png')
plot2 <- readPNG('plot2.png')

grid.arrange(rasterGrob(plot1),rasterGrob(plot2),ncol=1)