11  气泡图

11.1 什么是富集气泡图?

气泡图是一种多变量图表,是散点图的变体。气泡图最基本的用法是使用四个值来确定每个数据序列,和散点图一样,气泡图将两个维度的数据值分别映射到坐标轴上,其中 X 轴和 Y 轴分别代表不同的两个维度的数据,但是不同于散点图的是,每个气泡的面积代表第三个维度的数据,每个气泡的颜色代表第四个维度的数据。气泡图通过气泡的位置,面积大小和颜色等,可分析数据之间的相关性。

需要注意的是,圆圈状气泡的大小是映射到面积而不是半径或者直径绘制的。因为如果是基于半径或者直径,那么圆的大小不仅会呈指数级变化,而且还会导致视觉误差。

本文我们就来讨论一下富集气泡图是如何绘制的以及如何对其进行解读。

11.2 绘图前的数据准备

demo数据可以在https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/bubble/data.txt下载。

数据来源一般是富集结果。包含四列数据,Term是条目的名称,Size是指定点的大小(一般是富集到该条目的蛋白个数),Ratio是富集到该条目的蛋白个数/该条目的蛋白总个数,Enrichment是-log10(pvalue)用来指定气泡的颜色

11.3 R语言怎么画富集气泡图

library(ggplot2)

# 读取富集气泡图数据文件
df= read.delim("https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/bubble/data.txt")# 这里读取了网络上的demo数据,将此处换成你自己电脑里的文件

# 绘图
ggplot(df,aes(x = Ratio, 
              y = reorder(Term,Enrichment,sum), # 按照富集度大小排序
              size = Size,
              colour=Enrichment)) +
  geom_point(shape = 16) +                    # 设置点的形状
  labs(x = "Ratio", y = "Pathway")+           # 设置x,y轴的名称
  scale_colour_continuous(                    # 设置颜色图例
    name="Enrichment",                        # 图例名称
    low="green",                              # 设置颜色范围
    high="red")+
  scale_radius(                               # 设置点大小图例
    range=c(2,4),                             # 设置点大小的范围
    name="Size")+                             # 图例名称
  guides(   
    color = guide_colorbar(order = 1),        # 决定图例的位置顺序
    size = guide_legend(order = 2)
  )+
  theme_bw()                                  # 设置主题

11.4 富集气泡图结果解读

使用气泡图可以研究单个图上四个变量之间的关系。与散点图一样,气泡图也绘制 Y 变量与 X 变量。但是,气泡图上的符号(又称为气泡)大小和颜色也可以分别表示一种信息。

这张示例图中,Y轴为term名称,X为ratio大小,气泡颜色表示富集度,气泡大小也表示富集到该条目的蛋白个数。

11.5 BioLadder生信云平台在线绘制富集气泡图

不想写代码?可以用BioLadder生信云平台在线绘制富集气泡图。

网址:

气泡图-BioLadder生物信息在线分析可视化云平台​www.bioladder.cn/web/#/chart/2