我们如何在 R 中绘制给定坐标处的图像?

2023-12-02

给定 png/jpeg 格式的“n”个图像和二维(x,y)中的“n”个相应坐标:我想在单个绘图上的给定坐标处绘制这些图像。如果我发现图像太大,我理想地希望将它们绘制为给定坐标处的较小/缩放版本。我怎样才能在R中实现这样的情节?

下面给出了此类图的示例:

enter image description here


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)

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我们如何在 R 中绘制给定坐标处的图像? 的相关文章

随机推荐