patchwork 包
参见:https://www.geeksforgeeks.org/how-to-add-image-to-ggplot2-in-r/
通过inset_element 函数将图像加到ggplot 图层上。
不过个人感觉不是很好用。
cowplot 包
参见:https://wilkelab.org/cowplot/articles/introduction.html#generic-plot-annotations-1
我比较推荐cowplot。
logo_url <- "/Users/appe/Nutstore Files/01-dir_for_work/3-source/2.img/peng_new_logo.png"
p1 <- ggplot(tmp) + geom_boxplot(aes(Species, Sepal.Width, color = group_new)) + labs(x = "", title = "Template fot my ggplot", tag = "Fig. 1", caption = "By: Mug Peng") +
scale_color_paletteer_d("ggsci::default_nejm")
ggdraw() +
draw_plot(p1) +
draw_image(logo_url,
x = 0.88, y = 0.92, hjust = 1, vjust = 1, width = 0.2, height = 0.23)
首先通过ggdraw 开一个新图层,再通过draw_plot 把ggplot 图像画出,最后再添加一个图层来展示图片(既可以是本地地址,也可以是外部链接),通过draw_image。
x,y 控制图片位置,h,v 调整位置,width, height 控制宽度长度。
但发现问题在于,本身的图片主题会发生细微的改变,比如y 轴的名称就被调整到接近坐标轴的位置了:
本身距离是很宽的。