有没有办法使 rasterGrob 对象部分透明,以添加alpha因子?我正在使用一个标志作为水印,在ggplot2绘图中通过插入png图像(作为rasterGrob)的annotation_custom实现。然而,与annotate不同,这里的alpha选项不起作用,所以我猜图像必须事先更改。
根据baptiste在他的博客中建议的简单示例,到目前为止,我是这样做的:
根据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
rasterGrob
;4)将grob传递给annotation_custom
函数。 - baptiste