使用ggbackground()为ggplot2图像添加背景图片

使用ggbackground()为ggplot2图像添加背景图片

学习setting ggplot2 background with ggbackground的笔记。

这个函数是ggimage里的函数,安装该包:

1
install.packages("ggimage")

首先绘制一副基础的ggplot2图像:

1
2
3
4
5
6
library(ggimage)
library(ggplot2)
library(ggthemes)
(p <- ggplot(data = iris) +
aes(x = Sepal.Length, y = Sepal.Width, color = Species) +
geom_point(size = 5) + theme_bw(base_size = 15))

然后使用ggbackground()函数为该ggplot图像添加背景:

1
2
img <- "http://www.czxa.top/photowall/xiaoxiao/WechatIMG12.jpeg"
ggbackground(p, img)

为了让统计图像显示的更突出一些,可以使用magick包提供的功能来操作图像。例如下面的函数模拟来自photoshop的经典高通滤波器:

1
2
3
4
library(magick)
ggbackground(p, img,
image_fun = function(x) image_negate(image_convolve(x, 'DoG:0, 0, 2'))
)

最后是为背景图片设置透明度和颜色:

1
2
3
4
5
6
7
8
9
10
(p <- ggplot(data = iris) +
aes(x = Sepal.Length, y = Sepal.Width, color = Species) +
geom_point(size = 5) +
theme_bw(base_size = 15) +
theme(legend.position = "none"))
img = "http://phylopic.orghttps://czxb.github.io/ar/images/submissions/bf5fe2c5-1247-4ed9-93e2-d5af255ec462.512.png"
p1 = ggbackground(p, img) + ggtitle("ggbackground(p, img)")
p2 = ggbackground(p, img, alpha=.3) + ggtitle("ggbackground(p, img, alpha=.3)")
p3 = ggbackground(p, img, alpha=.3, color="steelblue") + ggtitle('ggbackground(p, img, alpha=.3, color="steelblue")')
cowplot::plot_grid(p1, p2, p3, ncol=3)

似乎颜色设置选项失效了!

# R

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×