美文网首页绘图ggplot集锦
十. 基因表达作图--ggplot2::geom_bar

十. 基因表达作图--ggplot2::geom_bar

作者: 小飞虎 | 来源:发表于2021-10-21 00:07 被阅读0次

    一. 简介

    利用柱形图展示不同样品中基因表达的整体情况,首先读取基因表达矩阵,再将数据格式转换成row,col,value三列的格式,然后利用ggplot2画图

    读取数据格式:
        gene_id sample1 sample2 sample3 sample4 sample5 sample6 sample7
    1   EVM0000001.1    2.20    5.95    9.45    0.43   16.87    2.64   10.11
    2   EVM0000002.1    0.08    0.56    0.04    0.00    0.22    0.04    0.18
    3   EVM0000003.1    0.04    0.00    0.00    0.05    0.18    0.06    0.40
    4   EVM0000004.1    1.32    2.76    0.00    1.30    0.25   18.42    0.14
    5   EVM0000005.1    1.76    5.24    2.45   17.54    2.81    1.25    5.56
    6   EVM0000006.1    3.40    2.82    2.73    1.98    5.58    2.79    7.44
    7   EVM0000007.1    0.00    0.25    0.00    0.11    0.00    0.36    0.00
    8   EVM0000008.1    0.00    0.00    0.00    0.00    0.00    0.00    0.00
    9   EVM0000009.1    0.00    0.00    0.00    0.00    0.00    0.00    0.00
    10  EVM0000010.1    0.07    6.11    0.03    0.05   16.40    0.12    0.04
    ...
    转换后数据格式:
          row     col   value
    1     1 sample1    2.20
    2     2 sample1    0.08
    3     3 sample1    0.04
    4     4 sample1    1.32
    5     5 sample1    1.76
    ...
    

    二. 画图代码

    library("ggplot2")
    library("cowplot")
    df<-read.table("4_sample.FPKM",header = T, sep = "\t")#读取数据
    df=df[,-1]去掉第一列
    nrow <- dim(df)[1]
    ncol <- dim(df)[2]
    row <- rep(row.names(df),ncol)#生成新数据框的第一列
    col <- rep(colnames(df), each=nrow)#生成新数据框的第二列
    frame <- data.frame(row,col,value =as.numeric(unlist(df)))#生成新数据框,共三列
    p<-ggplot(frame,aes(as.numeric(row),value))+
      facet_wrap(~ col, ncol = 1,scales="free")+ #按col分成多个图
      geom_bar(stat = "identity",fill="#33a02c",width = 1)+
      scale_x_continuous() +
      labs(x = "Gene",y="FPKM")#修改x轴和y轴标签
    p
    

    三. 结果展示

    下图展示全转录组在不同样品中的表达,去掉第11行中的scales="free"可以统一纵坐标刻度


    7_sample.FPKM.png

    相关文章

      网友评论

        本文标题:十. 基因表达作图--ggplot2::geom_bar

        本文链接:https://www.haomeiwen.com/subject/fywtaltx.html