气泡图(bubble chart)是可用于展示三个变量之间的关系。它与散点图类似,绘制时将一个变量放在横轴,另一个变量放在纵轴,而第三个变量则用气泡的大小来表示。排列在工作表的列中的数据(第一列中列出 x 值,在相邻列中列出相应的 y 值和气泡大小的值)可以绘制在气泡图中。气泡图与散点图相似,不同之处在于:气泡图允许在图表中额外加入一个表示大小的变量进行对比。 小锐,你知道怎么绘制气泡图吗?
今天进行pathway富集气泡图代码放送,小伙伴们快快过来围观。 第一步:了解输入数据类型 Count:差异表达基因中,属于这个通路的基因的数量。 All_count:所有基因中属于这个通路的基因的数量。 P:富集分析p值。 FDR :富集分析的Q值。 第二步:上代码 setwd('C:/Users/Administrator/Desktop/') #定义文件输入输出路径 library(ggplot2) #加载ggplot2包 pdf("kegg.pdf",8,6) #设定输出文件 pathway=read.table("pathway.txt",header=TRUE,sep="t",check.names = 1) #读入数据 pathway$richFactor=pathway$count/pathway$All_count #计算pathway的richFactor值 p=ggplot(pathway,aes(richFactor,Pathway)) #画图 p=p+geom_point(aes(size=count)) #改变点的大小 p=p+geom_point(aes(size=count,color=-log(p))) #根据p值自定义渐变颜色图 p=p+scale_colour_gradient(low="green",high="red") + #改变图片的样式 labs(color=expression(-log(p)),size="Gene number", x="Rich factor",y="KEGG Pathway") p=p+theme_bw() #去除灰色背景 p dev.off() 第三步:亮结果 是不是感觉瞬间眼前一亮呢,如果想在X轴显示pathway,你可以这样做: p=ggplot(pathway,aes(Pathway,richFactor)) #画图 p=p+geom_point(aes(size=count,color=-log(p))) #根据p值自定义渐变颜色图 p=p+ scale_colour_gradient(low="green",high="red") + #改变图片的样式 labs(color=expression(-log(p)),size="Gene number", x="Rich factor",y="KEGG Pathway") p=p+theme_bw()+theme(axis.text.x=element_text(size=8,angle=90,hjust=1))#去除灰色背景,并对x轴字体进行设置 p dev.off() 图形如下: ※ 接下来再安利一个柱状图的代码: data$value=-log(data$p) #data$path=rownames(data) data<-data[order(data$value,decreasing=T),] #排序 pdf("pathway.pdf",4,6) p<-ggplot(data,aes(x=rev(reorder(Pathway,value)),y=value)) + geom_bar(stat='identity',fill="red")+ labs(y="-log(P value)",x="KEGG Pathway")+ theme(panel.background=element_rect(fill="white",color="#767676",size=0.5),panel.grid.minor = element_line(colour="#F0F0F0", size=0.25), panel.grid.major=element_line(size=0.25,color="#F0F0F0"))+ #设置背景色,边框线以及内部线条的粗细及颜色theme(axis.text.x=element_text(size=7,angle=90,hjust=1,colour="black")) p dev.off() 有了这些代码,就可以选取需要的pathway,绘制属于自己的图形。 神奇代码,学以致用 学无止境,下期继续 更多干货,敬请期待 供稿:宋瑞雪 编辑:鲁淑妮 |
|