大数跨境
0
0

R语言ggplot2折线图/散点图/作图添加水印

R语言ggplot2折线图/散点图/作图添加水印 小明的数据分析笔记本
2024-04-05
2

在小红书看到有的人直接截我公众号的图发,所以想看看能不能在图上添加水印,我搜索了一下看有没有现成的R包可以直接做这个事情。找到了一个R包 tracee

https://github.com/cran/tracee/tree/master

这个R包里有一个函数 ggwater()

示例

Genome assemblies of 11 bamboo species highlight diversification induced by dynamic subgenome dominance

https://www.nature.com/articles/s41588-024-01683-0

首先用这篇论文中fig4b的数据做一个散点图和折线图

library(tidyverse)
library(readxl)

fig4b.dat<-read_excel("data/20240405/41588_2024_1683_MOESM6_ESM.xlsx",
                      sheet = "Fig4b")

fig4b.dat.plot<-fig4b.dat %>% 
  arrange(`Shifted homoeologs`) %>% 
  mutate(Species=factor(Species,levels = Species),
         group=c(rep("A",3),"B","B",rep("D",3))) %>% 
  ggplot(aes(x=Species,y=`Shifted homoeologs`))+
  geom_path(group=1,lty="dashed")+
  geom_point(size=10,aes(color=group),show.legend = FALSE)+
  theme_bw(base_size = 20)+
  theme(panel.grid = element_blank(),
        axis.text.x = element_text(angle=60,size=20,
                                   hjust = 1,vjust=1))+
  scale_color_manual(values = c("#0072bd","#edb120","#77ac30"))

fig4b.dat.plot
image.png

添加水印

library(tracee)
fig4b.dat.plot+
  ggwater(text = "小明的数据分析笔记本")
image.png

但是没有在ggwater()这个函数里找到调整字体的参数,我们看一下这个函数的代码 https://github.com/cran/tracee/blob/master/R/ggwater.R

可以自己添加一个修改字体的参数

ggwater2 <- function(text="Not validated",scale=1,rot=30,col="grey",alpha=.5,fontfamily="KaiTi"){
  
  annotation_custom(grid::textGrob(text, gp = grid::gpar(fontsize = 80*scale,col=col,alpha=alpha,
                                             fontfamily=fontfamily),rot=rot),
                    xmin = -Inf, xmax = Inf, ymin = -Inf, ymax = Inf)
  
  
}

添加水印

ibrary(tracee)
library(extrafont)

cairo_pdf(filename = "Rplot40.pdf")
fig4b.dat.plot+
  ggwater(text = "小明的数据分析笔记本",
           scale = 0.6)
dev.off()
image.png
image.png

欢迎大家关注我的公众号

小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

微信公众号好像又有改动,如果没有将这个公众号设为星标的话,会经常错过公众号的推文,个人建议将 小明的数据分析笔记本 公众号添加星标,添加方法是 点开公众号的页面,右上角有三个点

点击三个点,会跳出界面

直接点击

若有收获,就点个赞吧


【声明】内容源于网络
0
0
小明的数据分析笔记本
分享R语言和python在生物信息领域做数据分析和数据可视化的简单小例子;偶尔会分享一些组学数据处理相关的内容
内容 971
粉丝 0
小明的数据分析笔记本 分享R语言和python在生物信息领域做数据分析和数据可视化的简单小例子;偶尔会分享一些组学数据处理相关的内容
总阅读218
粉丝0
内容971