嗨我有一个看起来像的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)
答案 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...
}