用ggplot2一分钟绘制好看的气泡图






用ggplot2一分钟绘制好看的气泡图

小图  生信果  2023-08-11 19:00:25

点击蓝字

关注小图

气泡图是一种多变量图表,是散点图的变体,也可以认为是散点图和百分比区域图的组合。气泡图最基本的用法是使用三个值来确定每个数据序列,和散点图一样。气泡图通过气泡的位置及面积大小,可分析数据之间的相关性。

下面通过几个案例来体会做一下气泡图把~

# 安装和加载所需的包install.packages("ggplot2")library(ggplot2)
# 创建示例数据data <- data.frame(  x = c(1, 2, 3, 4, 5),  # x轴数据  y = c(10, 8, 6, 4, 2),  # y轴数据  size = c(5, 10, 15, 20, 25),  # 气泡大小  color = c("red", "blue", "green", "yellow", "orange")  # 气泡颜色)
# 绘制气泡图ggplot(data, aes(x, y)) +  geom_point(aes(size = size, color = color)) +  scale_size(range = c(1, 10)) +  labs(title = "气泡图示例", x = "X轴", y = "Y轴")

在这个示例中,我们使用了ggplot2包来绘制气泡图。首先,我们创建了一个包含x轴数据、y轴数据、气泡大小和气泡颜色的数据框。然后,我们使用ggplot()函数创建了一个基础图形对象,并使用geom_point()函数添加了气泡点。通过aes()函数指定了气泡的大小和颜色。最后,我们使用scale_size()函数设置了气泡大小的范围,使用labs()函数添加了标题和轴标签。


# 使用mtcars数据集data(mtcars)
# 绘制气泡图ggplot(mtcars, aes(x = wt, y = mpg, size = qsec, color = cyl)) +  geom_point() +  scale_size(range = c(1, 10)) +  labs(x = "Weight", y = "Miles per Gallon", size = "Quarter Mile Time", color = "Cylinders")

这段代码将使用mtcars数据集中的”wt”(车辆重量)作为x轴,”mpg”(每加仑行驶里程)作为y轴,”qsec”(1/4英里加速时间)作为气泡的大小,”cyl”(汽缸数)作为气泡的颜色。你可以根据自己的需求修改这些参数。


以下是一个简单代谢通路丰度统计的例子来帮助您开始:

# 创建数据框data <- data.frame(Pathway = c("Pathway A", "Pathway B", "Pathway C"),                   Metabolite = c(100, 200, 300),                   Abundance = c(10, 20, 30))
# 绘制气泡图ggplot(data, aes(x = Pathway, y = Metabolite, size = Abundance, color = Abundance)) +  geom_point() +  scale_size(range = c(5, 15)) +  scale_color_gradient(low = "blue", high = "red") +  labs(title = "Metabolic Pathway Analysis",       x = "Pathway",       y = "Metabolite",       size = "Abundance",       color = "Abundance")

在这个示例中,我们创建了一个数据框data,其中包含了代谢通路的名称(Pathway)、代谢物的数量(Metabolite)和丰度(Abundance)。然后,使用ggplot函数创建了一个基础的气泡图,通过aes函数指定了x轴、y轴、气泡的大小和颜色。使用geom_point函数添加了气泡点,使用scale_size函数和scale_color_gradient函数分别设置了气泡大小的范围和颜色的渐变。最后,使用labs函数添加了标题和轴标签。


根据文章作者的分析目的,气泡图各参数有以下几种意义:

Y轴:代表细胞的生物学功能(诸如生物过程BP,分子功能MF,细胞组分CC)或者各分子发挥功能的通路(如代谢途径,致癌途径等等);

X轴:常见的有这三种——GeneRatio是你的基因列表富集到目的通路基因数占基因列表包含基因集总基因比例,richFactor是富集到目标通路基因数占比,BgRatio是目标通路基因占通路集总基因比例。总之一个词,比例;

气泡面积大小:富集基因的数量;

气泡颜色:富集显著性,即P value 或 Q value数值的大小。


如果你在作图中有问题,可以借助一些网上的作图工具来实现http://www.biocloudservice.com/home.html


好了,这样我们气泡图就画完了。小伙伴们如果有什么问题就和小图讨论吧。


欢迎使用:云生信平台 ( http://www.biocloudservice.com/home.html)

往期推荐

只要十分钟,搞定复杂的临床预测模型!不用学会统计,也能分析!

基因之旅:clusterProfiler揭示富集分析世界的奥秘!

【手把手教你】Cytoscape—基因互作网络图的保姆级讲解


👇点击阅读原文进入网址