查看: 6336|回复: 11

火山图美化神器——ggpubr包

[复制链接]

草履虫

Rank: 2

主题
1
注册时间
2018.1.30
在线时间
2 小时

发表于 2020.9.10 11:11:26 | 显示全部楼层 |阅读模式
本帖最后由 xwhld1992 于 2020.9.10 11:18 编辑

分析背景

    在前段时间,小编给各位小伙伴们介绍了使用ggplot2包绘制差异基因火山图,私底下有小姐姐向小编反应说图形不够美观,毕竟这个这是个看脸的时代,今天小编给小伙伴们介绍使用ggpubr包绘制带有自定义有颜色的标签,如下图所示,是不是耳目一新。

    ggpubr是由Alboukadel Kassambara基于ggplot2、ggsci包开发的,用于绘制符合出版物要求的图形。该包封装了很多ggplot2的绘图函数,并且内嵌了ggsci中很多优秀的学术期刊配色方案,值得学习使用。
ggpubr包括一些关键的特性:

  • 能帮助研究人员快速创建易于发表的图形
  • 能够将P值和显著性水平自动添加到图形上而无需二次编辑
  • 使图形注释和排版变得容易
  • 使更改图形参数(例如颜色和标签)变得容易

小编,在后期使用这个包给大家绘制各种常见的图形,如小提琴图、箱线图、散点图等等。记得关注公众号,干货满满!!!

[Shell] 纯文本查看 复制代码
# 安装R包
if (!requireNamespace("ggplot2", quietly = TRUE))
  install.packages("ggplot2",repos = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
if (!requireNamespace("RColorBrewer", quietly = TRUE))
  install.packages("RColorBrewer",repos = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
if (!requireNamespace("data.table", quietly = TRUE))
  install.packages("data.table",repos = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
if (!requireNamespace("ggpubr", quietly = TRUE))
  install.packages("ggpubr",repos = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
if (!requireNamespace("tidyselect", quietly = TRUE))
  install.packages("tidyselect",repos = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
# 自定义函数
## 快速读入数据
readFlie=function(input,type,row=T,header=T){
  # input 为读入文件的路径,type为读入文件的类型,格式为‘.txt’或‘.csv’,row=T,将文件的第一列设置为列名
  library(data.table,quietly = TRUE)
  if(type=='txt'){
    dat = fread(input,header = header,sep='\t',stringsAsFactors = F,check.names = F)
    if(row){
      dat = as.data.frame(dat,stringsAsFactors = F)
      rownames(dat) = dat[,1]
      dat = dat[,-1]
    }else{
      dat = as.data.frame(dat,stringsAsFactors = F)
    }
  }else{
    dat = fread(input,header = header,sep=',',stringsAsFactors = F,check.names = F)
    if(row){
      dat = as.data.frame(dat,stringsAsFactors = F)
      rownames(dat) = dat[,1]
      dat = dat[,-1]
    }else{
      dat = as.data.frame(dat,stringsAsFactors = F)
    }
  }
  return(dat)
}
## 保存图片,只支持ggplot对象
savePlots=function(path,plot,type=c('pdf','png','tiff')[1],width=10,height=8,dpi=300){
  # path表示保存图片路径,需要加上相应的文件扩展名称
  library(ggplot2)
  if(type=='pdf'){
    ggsave(filename = path,plot = plot,width = width,height = height,device = 'pdf')
  }else if(type=='png'){
    ggsave(filename = path,plot = plot,width = width,height = height,device = 'png',dpi = dpi)
  }else{
    ggsave(filename = path,plot = plot,width = width,height = height,device = 'tiff',dpi = dpi)
  }
}



阅读原文,获取脚本源码和测试数据。

实战演练
[Shell] 纯文本查看 复制代码
# 实战演练
## 读入数据
df = readFlie('./volcano_file.txt',type = 'txt',row = T ) 
## 绘图
fg = wnb_volcano(df)
## 展示图形
fg
## 保存图形
# 保存图片
savePlots(path = './fg.pdf',plot = fg,type = 'pdf',width = 10,height = 8)
savePlots(path = './fg.png',plot = fg,type = 'png',width = 10,height = 8,dpi = 300)
savePlots(path = './fg.tiff',plot = fg,type = 'tiff',width = 10,height = 8,dpi = 600)

fg1 = wnb_volcano(df,colors =  c("#00AFBB", "#999999", "#FC4E07"),
                  showGene = c('MUC4','SCIN','TTC9','CLIC6','GSTA3','ATP12A','MUC16','CLDN10','KCNE1','AK7'))
## 展示图形
fg1
## 保存图形
# 保存图片
savePlots(path = './fg1.pdf',plot = fg1,type = 'pdf',width = 10,height = 8)
savePlots(path = './fg1.png',plot = fg1,type = 'png',width = 10,height = 8,dpi = 300)
savePlots(path = './fg1.tiff',plot = fg1,type = 'tiff',width = 10,height = 8,dpi = 600)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

迅猛龙

Rank: 8Rank: 8

主题
31
注册时间
2016.1.8
在线时间
556 小时

发表于 2020.10.9 14:19:21 | 显示全部楼层
应该是
DEGs 吧
新的一天加油!
回复 支持 反对

使用道具 举报

帝王蝶

Rank: 4

主题
5
注册时间
2016.10.11
在线时间
36 小时

发表于 2020.10.15 22:59:43 | 显示全部楼层

不错不错不错,学习了
咔咔咔咔咔咔扩扩扩扩扩扩扩扩扩扩扩扩扩扩扩
回复 支持 反对

使用道具 举报

钵水母

Rank: 3Rank: 3

主题
0
注册时间
2016.10.11
在线时间
9 小时

发表于 2020.11.19 15:11:33 | 显示全部楼层
发过火菌根菌过好久法国红酒法国红酒非共和国和
回复

使用道具 举报

迅猛龙

Rank: 8Rank: 8

主题
0
注册时间
2017.6.6
在线时间
148 小时

灌水之王


发表于 2020.12.14 17:27:29 | 显示全部楼层
新的一天加油!
回复

使用道具 举报

中华鲟

Rank: 5Rank: 5

主题
13
注册时间
2019.6.21
在线时间
74 小时

发表于 2020.12.15 08:40:15 | 显示全部楼层
学习一下
新的一天加油!
回复

使用道具 举报

迅猛龙

Rank: 8Rank: 8

主题
0
注册时间
2020.11.21
在线时间
76 小时

发表于 2020.12.16 11:45:18 | 显示全部楼层
学习了
新的一天加油!
回复

使用道具 举报

迅猛龙

Rank: 8Rank: 8

主题
0
注册时间
2017.6.6
在线时间
148 小时

灌水之王


发表于 2020.12.18 15:49:24 | 显示全部楼层
新的一天加油!
回复

使用道具 举报

中华鲟

Rank: 5Rank: 5

主题
13
注册时间
2019.6.21
在线时间
74 小时

发表于 2020.12.21 15:01:13 | 显示全部楼层
新的一天加油!
回复

使用道具 举报

迅猛龙

Rank: 8Rank: 8

主题
0
注册时间
2020.11.21
在线时间
76 小时

发表于 2021.1.10 10:25:07 | 显示全部楼层
新的一天加油!
回复

使用道具 举报

迅猛龙

Rank: 8Rank: 8

主题
0
注册时间
2020.11.21
在线时间
76 小时

发表于 2021.2.9 13:15:56 | 显示全部楼层
新的一天加油!
回复

使用道具 举报

帝王蝶

Rank: 4

主题
0
注册时间
2021.6.22
在线时间
16 小时

发表于 2021.11.27 16:27:19 | 显示全部楼层
学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表