导入 png 并根据附加参数绘制它们

Import of pngs and plotting them according to additional parameters

我正在图像处理程序中使用两个阶乘参数 (x, y) 进行测试,该程序生成了许多相同尺寸的 png 测试图像。例如,在 mtcars 数据集中,它们可以代表每个 cyl/carb 组合的说明性汽车图像。

我想将这些图像导入 R 并将它们绘制在一个小平面网格中,轴上有相应的参数值(例如 cyl 和 carb)。

a) 将图像导入 tibble/df,b) 按上述方法绘制图像的最佳方法是什么?

(如有必要,一旦我知道要使用的包,我很乐意用示例代码更新问题)。

如果您有 png 格式的图像,则实际上不需要将它们转换为数据帧。您可以使用 ggimage 中的 geom_image,它只需要文件路径。假设我有两个类别——“动物”和“颜色”,一个图像代表每个独特的“颜色”和“动物”的结合。

我只需要做:

df <- data.frame(animal = rep(c("cat", "dog"), each = 3),
                 color = rep(c("red", "green", "blue"), 2),
                 img = path.expand(
                   c("~/redcat.png", "~/greencat.png", "~/bluecat.png",
                     "~/reddog.png", "~/greendog.png", "~/bluedog.png")))

library(ggimage)

ggplot(df) + 
  geom_image(aes(x = 1, y = 1, image = img), size = 1) +
  facet_grid(color~animal, scales = "free")