给定 png/jpeg 格式的“n”个图像和二维 (x,y) 中的“n”个对应坐标:我想在单个图上的给定坐标处绘制这些图像。如果我发现图像太大,我最好将它们绘制为给定坐标处的较小/缩放版本。我怎样才能在 R 中实现这样的情节?
下面给出了此类图的外观示例:
最佳答案
xy <- data.frame(x=runif(10, 0, 100), y=runif(10, 0, 100))
require(png)
img <- readPNG(system.file("img", "Rlogo.png", package="png"))
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)
关于r - 我们如何在 R 中的给定坐标处绘制图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19234796/