gpt4 book ai didi

r - 如何在ggplot2中绘制png图像?

转载 作者:行者123 更新时间:2023-12-02 09:03:03 24 4
gpt4 key购买 nike

图片显示不正常,向左旋转了90度。

library("png")
library("ggplot2")

download.file("https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png",
"wiki.png", mode = 'wb')
img = readPNG("wiki.png")

grd = expand.grid(1:178, 1:172)
dim(img) = c(178 * 172, 3)
img = as.data.frame(img)
img = cbind(grd, img)
colnames(img) = c("X", "Y", "R", "G", "B")
img$RGB = rgb(img$R, img$G, img$B)

ggplot(img, aes(x = X, y = Y, fill = RGB)) +
geom_raster() +
scale_fill_identity()

最佳答案

您的光栅图像本质上是一个矩阵 - 第一行,左上角的第一列,以及维度(行、列)的典型矩阵排序。

ggplot 的默认值是在笛卡尔坐标系中绘制数据,如果您的绘图全部为正值,则“开始”(原点)是左下角,维度的典型顺序是(x,y)。

这些是非常不同的系统,因此您需要在它们两者之间进行转换才能采用这种方法:aes(x = Y, y = -X, fill = RGB) - 虽然为了使事情更清楚,您可能希望为图像坐标选择不同于 XY 的名称。

关于r - 如何在ggplot2中绘制png图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61637871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com