• 火山图


    分析背景

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

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

    • 能帮助研究人员快速创建易于发表的图形

    • 能够将P值和显著性水平自动添加到图形上而无需二次编辑

    • 使图形注释和排版变得容易

    • 使更改图形参数(例如颜色和标签)变得容易

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

    分析方法
    # 安装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='	',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)
      }
    }

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

    实战演练
    # 实战演练
    ## 读入数据
    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)
    联系我们:

    小伙伴们对脚本有疑问或者想加入我们生信学习福利群,扫描下方二维码,加入我们  :

  • 相关阅读:
    【Coreforces 1253E】
    计数专题乱做
    PKUWC2020乱做
    多项式板子
    notepad
    2021.4.9
    2021.4.8
    2021.3.31
    2021.3.26
    2021.3.25
  • 原文地址:https://www.cnblogs.com/sweet-i/p/13644312.html
Copyright © 2020-2023  润新知