2016-05-11 14 views
1

サムネイル画像のセットを散布図の点としてプロットしたいと思います。私はhereにある回答コードで始めましたが、私は画像のリストを持っていましたが、プロット全体で同じサムネイルを繰り返しました。R - 散布図のサムネイル(リストにある)をプロットする

xy <- data.frame(x=runif(337, 0, 100), y=runif(337, 0, 100)) 
imgfiles <- list.files(getwd(),pattern="*-scaled.png") 
img <- lapply(imgfiles,function(x) readPNG(x)) 

thumbnails <- function(x, y, images, width = 0.1*diff(range(x)), 
         height = 0.1*diff(range(y))){ 

     images <- replicate(length(x), images, simplify=FALSE) 
     stopifnot(length(x) == length(y)) 

     for (ii in seq_along(x)){ 
       rasterImage(images[[ii]], xleft=x[ii] - 0.5*width, 
          ybottom= y[ii] - 0.5*height, 
          xright=x[ii] + 0.5*width, 
          ytop= y[ii] + 0.5*height, interpolate=FALSE) 
     } 
} 

plot(xy, t="n") 
thumbnails(xy[,1], xy[,2], img[[11]])  # this works but the same image is repeated 

私はループにラッピングサムネイルを()しようとしたが、プロットは、私はこれをどのように行うのです

for (n in length(img)){ 
     thumbnails(xy[n,1], xy[n,2], img[[n]])   
} 

空の出てきますか?私はリスト内の画像を参照する方法を理解していないか、またはそれらを別のデータ構造に変更する必要があるかどうかはわかりません。

答えて

0

私はちょうどそれがオリジナルの答えで与えられたサンプル画像を複製した()

images <- replicate(length(x), images, simplify=FALSE) 

サムネイルにこのラインを取り除く必要がありました。後はループの必要はありません。

関連する問題