用ggplot2画Pathway气泡图

成品图

KEGG Pathway富集分析气泡图
  • 横坐标为pathway impact
  • 纵坐标为pathway名称。这里是我瞎编的
  • 气泡的颜色代表p值
  • 气泡的大小代表富集到的代谢物数量。这里我是用代谢组结果做的KEGG分析,所以是代谢物数量,如果用转录组做,则是基因数量。

数据准备

Pathway_results_sample
  • 代谢组的KEGG Pathway分析我使用的是MetaboAnalyst提供的在线分析工具
  • 结果保存在名为Pathway_results_sample的EXCEL表格中
  • Hits列代表每个Pathway富集到的代谢物数量

画图思路

气泡图相对来说比较简单,画图思路如下

  • 以Impact列为横坐标,Pathway列为纵坐标画散点图
  • 将Hits列映射给点的大小
  • 将p列映射给点的颜色

R代码

#########################################
###        KEGG Pathway Plot         ### 
##         Cdudu  2020.1.23          ##
######################################

library(readxl)
library(ggplot2)
library(export) 

#图片背景设定
mytheme <- theme(axis.title=element_text(face="bold", size=10,colour = 'gray25'), #坐标轴标题
                 axis.text=element_text(face="bold", size=10,colour = 'gray25'), #坐标轴标签
                 axis.line = element_line(size=0.5, colour = 'black'), #轴线
                 panel.background = element_rect(color='black'), #绘图区边框
                 legend.key = element_blank() #关闭图例边框
                 ) 

#读入数据
KEGGPathway<-read.csv("Pathway_results_sample.csv")

#将Pathway列转化为因子型
KEGGPathway$Pathway<-factor(KEGGPathway$Pathway,levels = rev(KEGGPathway$Pathway))

#作图
p<-ggplot(KEGGPathway,aes(Impact,Pathway)) +
   geom_point(aes(fill=p,size=Hits),alpha=0.9,pch=21,colour="gray25") +  #fill对应点的填充色,colour对应点的边框色
   scale_fill_gradient(low='red', high='green') + #设定颜色的变化范围
   scale_size_area(max_size = 8, breaks=c(2,4,6,8,10)) + #设定点的大小比例和图例上显示的间隔
   labs(y='',x='Pathway impact',fill='p value',size='Metabolites number')

p+mytheme

#导出图片到PPT
graph2ppt(file="KEGGP.pptx", width=10, height=8)

Tips

  • Pathway列最好转化成因子型,否则作图时ggplot2会将所有Pathway按字母顺序重排序
  • 本图点的形状挑选了21号,pch=21,21号点的边框和内部填充可以分别赋值,其中边框用colour赋值,本图所有点的边框都设定为灰色colour="gray25",内部填充用fill赋值,本图将内部填充映射到了p值,geom_point(aes(fill=p,size=Hits))。最终呈现的效果是所有的点都有一个灰色边框,而内部填充色则根据p值变化.相对应的,在设定色阶变化时,需要使用scale_fill_gradient,而不是scale_colour_gradient
  • 也可以使用默认的点形状,区别是默认的点不存在边框。个人认为有边框的稍微好看点...
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 气泡图也属于散点图的一种,在散点图的基础上改变点的形状,大小和颜色 1.如何改变点的形状 用自带的mtcars演示...
    村狗儿阅读 18,319评论 1 16
  • 一、CSS入门 1、css选择器 选择器的作用是“用于确定(选定)要进行样式设定的标签(元素)”。 有若干种形式的...
    宠辱不惊丶岁月静好阅读 5,563评论 0 6
  • 主要从如何看图、用图与作图三个方面来对箱线图进行理解和总结。 1、看图 如图所示,箱线图是将一组数据按照大小顺序排...
    dowaves阅读 77,467评论 17 109
  • >library(ggplot2) #载入ggplot2 >pathway=read.table("KEGG.en...
    e2ae5d4bd7c1阅读 18,187评论 3 12
  • 今天洗澡的时候突然想到一个词,就是硬通货,那么今天就跟你说说,我希望你未来能够成为未来世界的硬通货。 首先要界定一...
    丁晓磊阅读 4,189评论 0 3

友情链接更多精彩内容