导入 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")
我正在图像处理程序中使用两个阶乘参数 (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")