在[r]

时间:2016-11-16 06:08:23

标签: r for-loop plot

嗨我有一个看起来像的df:

A     B     C
101   201   301
102   202   302

我想创建每列的2x5图像图(每个包含10个对应于jpg文件的值),而不重复代码100次。我的问题是如何设置一个循环来为我绘制这些。

这是我用于第一栏的硬代码:

require(jpeg)
image_frame = par(mfrow=c(5,2))
par(mar = c(1,1,1,1))

plot(1:2, type='n' ,xaxt='n', yaxt='n')
mtext("101", side=2, line = 0)
img101 = readJPEG('images/101.jpg')
rasterImage(img201, 1, 2, 2, 1)

我会假设一个函数和一些变量来保存值'101'以便调用标签和文件名而不是硬代码将是最有效的。

plotALL = function{
plot(1:2, type='n' ,xaxt='n', yaxt='n')
mtext("colName")
mtext("i", side=2, line = 0)
img101 = readJPEG('images/'i'.jpg')
rasterImage(img'i', 1, 2, 2, 1)


for(i in dim(df))
plotALL(i)

1 个答案:

答案 0 :(得分:1)

由于没有可重现的代码,这是一个粗略的猜测......

par(mfrow=c(5,2))
for(column in df) {
  plot(1:2, type='n' ,xaxt='n', yaxt='n') # i guess this depends in the jpg
  for(i in column) {
    jpg <- readJPEG(sprintf('images/%s.jpg', i))
    rasterImage(jpg,1,2,2,1)
  }
  # save image somehow...
}