gpt4 book ai didi

image - R:将 alpha 值添加到 png-image

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

有没有办法让 rasterGrob-object 部分透明,所以要给它添加一个 alpha 因子?我在 ggplot2 中使用 Logo 作为水印通过 annotation_custom 插入 png 图像(作为 rasterGrob)进行绘图.然而,与 annotate 不同。 , alpha选项在这里不起作用,所以我想必须提前更改图像。

作为一个基于 baptiste 在他的博客中建议的简单示例,到目前为止,我正在这样做:

img.path <- readPNG("logo.png")
pngob <- rasterGrob(img.path)
qplot(1:10, rnorm(10), geom = "blank") +
annotation_custom(pngob, xmin=6.8, xmax=Inf, ymin=1, ymax=Inf) +
geom_point()

上面的示例完美运行。

但是,键入 dim(pngob)进入控制台返回 NULL .因此,以下关于如何设置 alpha 的建议-值不起作用:
m <- pngob
w <- matrix(rgb(m[,,1],m[,,2],m[,,3], m[,,4] * 0.2), nrow=dim(m)[1])

这将返回错误 Error in m[, , 1]: wrong number of dimensions

最佳答案

直接来自ggplot2 blog通过@baptiste。创建时可以调整alpha w .

 library(png)
library(gridExtra)
m <- readPNG(system.file("img", "Rlogo.png", package="png"), FALSE)
w <- matrix(rgb(m[,,1],m[,,2],m[,,3], m[,,4] * 0.2), nrow=dim(m)[1]) #0.2 is alpha


qplot(1:10, rnorm(10), geom = "blank") +
annotation_custom(xmin=-Inf, ymin=-Inf, xmax=Inf, ymax=Inf,
rpatternGrob(motif=w, motif.width = unit(1, "cm"))) +
geom_point()

enter image description here

或者,如果您想要一个图像:
qplot(1:10, rnorm(10), geom = "blank") +
annotation_custom(xmin=-Inf, ymin=-Inf, xmax=Inf, ymax=Inf,
rasterGrob(w)) +
geom_point()

enter image description here

关于image - R:将 alpha 值添加到 png-image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11357926/

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