Je voudrais tracer un ensemble de vignettes sous la forme de points sur un nuage de points. J'ai commencé avec le code de réponse situé here mais ils répètent la même vignette tout au long de l'intrigue, alors que j'ai une liste d'images.R - tracer des vignettes (qui sont dans une liste) sur un diagramme de dispersion
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
J'ai essayé miniature d'emballage() dans une boucle, mais l'intrigue ne sort vide
for (n in length(img)){
thumbnails(xy[n,1], xy[n,2], img[[n]])
}
Comment dois-je faire cela? Je ne comprends pas comment référencer les images dans la liste, ou si je devrais les changer pour une structure de données différente.