R语言使用ggplot2绘制Bubble Matrix气泡矩阵图教程

程一诺
程一诺
发布时间:2026-10-16| 6人浏览过
原创

气泡矩阵图(Bubble Matrix)适用于同时展示两种数据集在相同坐标轴下的关联性。本文介绍如何使用R语言的ggplot2和reshape2包,将宽格式数据转换为长格式,并通过调整点的大小(Size)和颜色(Color)来直观反映数据值与类别信息。

结果与目标

目标是生成一张横纵坐标均为同一类变量(如基因或细胞类型),但通过气泡大小表示数值大小、颜色区分另一维度或自动着色矩阵的气泡图。这种图表能更精确地展示高维数据的分布特征。

准备条件

确保已安装并加载以下R包:

  • ggplot2:用于绘图
  • reshape2:用于数据重塑(将宽数据转为长数据)

真实操作顺序

第1步:数据文件的准备

绘图数据应预先整理为结构化表格。建议将数据保存为CSV格式,确保第一行为列名,便于R语言识别。数据结构通常包含行名(如Gene)和多个列名(如Cell1, Cell2等),单元格内容为对应的数值(Value)。

第2步:读取数据至R环境

使用read.csv()函数导入文件。若数据第一行为标题行,需设置header = TRUE。

data <- read.csv("your file path", header = TRUE)

第3步:调用必要的绘图包

在运行绘图代码前,必须调用依赖库:

library(reshape2)
library(ggplot2)

第4步:数据重塑与核心绘图

目的:ggplot2默认处理长格式数据。需要先将矩阵形式的宽数据转化为三列(X轴变量、Y轴变量、数值)的长数据。
动作:
1. 使用melt()函数展开数据。
2. 重命名新数据的列名为 'Gene', 'Cell', 'Value' 以对应后续美学映射。
3. 构建 ggplot 图形,映射 x=Gene, y=Cell, size=Value, color=Cell,并使用 geom_point() 绘制气泡。

data_melt <- melt(data)
names(data_melt) <- c('Gene', 'Cell', 'Value')

p <- ggplot(data_melt, aes(x = Gene, y = Cell, size = Value, color = Cell)) + 
     geom_point()
p

第5步:图形美化与背景调整

目的:去除杂乱的网格线,增强对比度,使气泡更加突出。
动作:修改主题参数,清除面板背景,自定义网格线颜色,并添加黑色边框。

p <- p + theme(
  panel.background = element_blank(),
  panel.grid.major = element_line(colour = "gray"),
  panel.border = element_rect(colour = "black", fill = NA)
)
p

第6步:最终效果预览

完成上述步骤后,即可获得整洁、美观的气泡矩阵图,便于展示多维数据关系。

简要总结

通过reshape2::melt转换数据结构是绘制气泡矩阵的关键。利用ggplot2的美学映射功能,可以轻松控制气泡大小和颜色来传达更多信息。以上就是R语言绘制Bubble Matrix气泡矩阵图的详细内容,更多关于R语言绘制气泡矩阵图的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。