ITADN
Yunuuuu/ggalign
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

ggalign ggalign website

R-CMD-check Codecov test
coverage CRAN
status Project Status: Active - The project has reached a stable, usable
state and is being actively
developed. DOI Ask
DeepWiki

ggalign 包提供了一个用于可组合可视化的集成框架,支持构建复杂的多图布局——包括插图、圆形排列和多面板组合。基于图形语法,它引入了用于对齐、堆叠和嵌套图形的工具,使关联视图的链接、聚类结果的叠加或共享模式的突出显示变得轻而易举。该包专为基因组学、转录组学和微生物组研究等高维数据场景而设计,简化了从多种视觉组件创建丰富注释、可直接用于出版物的图形的过程。

为什么使用 ggalign

ggalign 专注于跨多个图形对齐观测值。如果你曾为对齐具有自包含排序(如树状图)的图形,或在多个图形中应用一致的分组或排序(例如,使用 k-means 聚类)而苦恼,ggalign 旨在使这一过程更加简单。该包与 ggplot2 无缝集成,提供了使用其 geoms、scales 和其他组件进行复杂可视化的灵活性。

安装

你可以使用以下命令从 CRAN 安装 ggalign

install.packages("ggalign")

或者,从 r-universe 安装开发版本:

install.packages("ggalign",
    repos = c("https://yunuuuu.r-universe.dev", "https://cloud.r-project.org")
)

或从 GitHub 使用:

# install.packages("remotes")
remotes::install_github("Yunuuuu/ggalign")

学习 ggalign

  1. Full reference documentation: https://yunuuuu.github.io/ggalign/
  2. Complete tutorial book: https://yunuuuu.github.io/ggalign-book/
  3. Gallery of examples: https://yunuuuu.github.io/ggalign-gallery/

设计特性

示例

与其他可组合可视化工具的比较

ggalign marsilea ComplexHeatmap
语言 RPythonR
用户界面 声明式声明式函数式
绘图系统 ggplot2 (基于网格系统的高级绘图系统)Matplotlibgrid
重点 通用可组合可视化基于网格的可组合可视化热图
StackLayout
QuadLayout 仅限热图 (离散变量)
CircleLayout
关系 一对一
一对多/多对一
多对多
横向
标注观测值
与 ggplot2 完全兼容

功能与规格对比

规格ggalignmarsileaComplexHeatmap
重新排序观测值仅限热图
将观测值分组到不同面板仅限热图
聚类算法Kmeans、Hierarchical Clustering 和任意算法Kmeans、Hierarchical Clustering 和任意算法
图例创建自动自动有限的自动,需要手动添加
图例位置任意位置;每个图可独立控制任意位置固定为四边之一
树状图来自 hclustape 的树hclusthclust
Tanglegram
3D Heatmap
Oncoplot
UpSet plot

致谢

我谨向 ggplot2 项目的贡献者致以诚挚的感谢,感谢他们为 R 语言中的数据可视化提供了一个强大且灵活的框架。他们的工作为这个包的功能和设计奠定了基础。我还要感谢 patchwork 项目,绘图组合器的核心代码即改编自该项目。patchwork 库提供了一种有用的机制,用于组合和对齐绘图,该机制经过修改以适应本包的需求。如果没有这些开源项目的贡献,本包将不可能实现。

此外,我想向 @teunbrand 表达我衷心的感谢,他满足了我众多的功能请求,并协助将新函数集成到 ggplot2 中。