更改ggplot中背景图像的透明度[重复]
Posted
技术标签:
【中文标题】更改ggplot中背景图像的透明度[重复]【英文标题】:change transparency of background image in ggplot [duplicate] 【发布时间】:2021-12-30 14:27:52 【问题描述】:我添加了背景图片,如何将背景图片的 alpha 设置为 0.5?
library(tidyverse)
library(png)
library(ggpubr)
tbl = tibble(x = runif(25),
y = runif(25))
# read any image from computer for background
im = readPNG("temp.png")
ggplot(data = tbl,
aes(x = x,
y = y)) +
background_image(im) +
geom_point(color = "red",
size = 5)
【问题讨论】:
***.com/questions/11357926/… 这不起作用 ...真的不需要ggpubr;你可以使用annotation_raster(yourAlphaImageMatrix, xmin=-Inf, ymin=-Inf, xmax=Inf, ymax=Inf)
【参考方案1】:
你需要在绘制之前设置 alpha
之前:
im <- readPNG("example.image.png")
im2 <- matrix(rgb(im[,,1],im[,,2],im[,,3], im[,,4] * 0.5), nrow=dim(im)[1]) ## you can change 0.5 to change the alpa
然后你可以应用这个:
library(png)
library(grid)
library(tibble)
ggplot(data = tbl,
aes(x = x,
y = y)) +
annotation_custom(rasterGrob(im2,
width = unit(1,"npc"),
height = unit(1,"npc")),
-Inf, Inf, -Inf, Inf) +
geom_point(color = "red",
size = 5)
之后:
【讨论】:
以上是关于更改ggplot中背景图像的透明度[重复]的主要内容,如果未能解决你的问题,请参考以下文章