绘图ggplot集锦

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

2021-10-21  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读