ggplot2 扩展包精选集 - 生信实战指南

小编导读

对于我们多数同学来说,ggplot2 绝对是数据可视化的神兵利器。然而,面对日益复杂的科研需求(例如多组学数据展示、系统发育树结合、生存分析、空间转录组映射等),基础的 ggplot2 有时也会显得力不从心。幸运的是,R 社区拥有一个极其繁荣的 ggplot2 扩展生态系统!官方专门设立了 ggplot2 Extensions 网站 以及资源库 Gallery,专门追踪和收录由全球 R 用户开发的强大扩展包。

为了方便大家快速找到自己需要的画图工具,我们从中精选了部分对生信分析、多组学研究和统计绘图极具实用价值的工具。遇到画图难题时,不妨来这里找找“秘密武器”!


重点推荐:生信与多组学可视化神器

这 4 个R包专为复杂数据与生物学数据量身定制,是生信人日常分析的得力助手,建议优先掌握。

1. ggtree

功能简介: 大牛Y叔出品的树图绘制工具。不仅能精美地展示系统发育树 (Phylogenetic tree),还能将树结构与丰富的注释数据(如表达量热图、物种分类丰度、进化特征等)完美对齐并映射在一起。宏基因组和进化分析必备。
[图片上传失败...(image-95b912-1774792688839)]

2. ggseqlogo

功能简介: 绘制出版级的序列 Logo 图 (Sequence logos)。无论是 DNA 启动子基序 (motif) 分析,还是蛋白质氨基酸保守性分析,都能轻松呈现高频序列特征。

[图片上传失败...(image-508d19-1774792688839)]

3. patchwork

功能简介: 极度推荐的高阶图表整合工具!用最简单的加减乘除运算符 (+, |, /) 就能完美排版和拼接多个 ggplot 图形。做生信分析时,组合生存曲线、热图和箱线图变得异常轻松。

[图片上传失败...(image-91c659-1774792688839)]

4. ggrepel

功能简介: 完美解决散点图/火山图中文字标签重叠成一团黑影的问题。它能智能排斥文字标签,自动将它们错开,是每一位生信分析师发文章的必装包。

[图片上传失败...(image-a8d424-1774792688839)]

交互式图表:以 ggiraph 为例

如果你的课题需要做网页展示(Shiny App)或需要和数据进行深入的交互探索,强烈推荐使用 ggiraph 包。

ggiraph 是一个非常强大的 htmlwidget 包,它可以将静态的 ggplot 转换成动态的、可悬停交互的图形。您只需将普通的 geom_point() 替换为 geom_point_interactive() 并提供一个 tooltip 参数,就能让读者鼠标悬停在点上时,查看到对应基因的名字、表达量等详细信息。

代码示例:

library(ggiraph)
library(tidyverse)

mtcars_db <- rownames_to_column(mtcars, var = "carname")

gg <- ggplot(
  data = mtcars_db,
  mapping = aes(
    x = disp, y = qsec,
    # here we add iteractive aesthetics
    tooltip = carname, data_id = carname
  )) + geom_point_interactive(
    size = 3, hover_nearest = TRUE)

# turn as girafe
girafe(ggobj = gg)

[图片上传失败...(image-364ca-1774792688839)]

AI辅助,事半功倍

对于刚接触 R 语言或这些扩展包的师弟师妹们,学习成本可能有点高,语法也容易忘。现在,有了最近非常流行的 OpenClaw/claude code/opencode/codebuddy等 AI agent助理环境,你可以把写代码和查错的繁琐任务交给 AI 助手!

比如可以这样使用 OpenClaw:

"请帮我用 R 语言读取工作区里的 gene_expression.csv,然后用 ggvolcano 画一个火山图,最后再用 ggiraph 把这个火山图做成交互式的 HTML 文件,当鼠标悬停在点上时能显示基因名称。"

OpenClaw 可以在其终端内自动编写、调试并执行这些 R 代码,甚至能直接把生成的动态图表保存下来,它简直就是生信新手的“贴身带教导师”!

写在最后

掌握基础的 ggplot2 是绘图的基石,而善用官方扩展包能让大家在数据汇报中如虎添翼。不妨挑出自己课题最相关的几个包,结合 OpenClaw 助理,一起动手跑跑代码吧!

📊 更多生信常用扩展包一览表

以下是分类整理的其他高频实用扩展包,可以根据具体的课题需求,去官网查阅它们的官方说明文档。

扩展包名称 核心应用场景 解决的痛点 / 优势
gggenomes 比较基因组学 轻松绘制基因组共线性、基因倒位和易位结构对比图。
gggenes 基因排列图 展示基因在染色体/质粒上的排列、方向以及操纵子结构。
ggtranscript 转录本结构可视化 适合展示可变剪接和单细胞同源异构体的外显子/内含子结构。
ggpca 降维聚类分析 快速输出单细胞分析常用的出版级 PCA, t-SNE 和 UMAP 图。
gganatogram 解剖图谱可视化 将基因表达量映射到人体或小鼠的特定组织或器官图谱上。
ggstatsplot 统计绘图 将统计检验结果 (如 P 值、效应量) 无缝嵌入 ggplot,一步到位出图。
ggpubr 出版级统计图 极大简化箱线图/小提琴图的显著性标记 (P值) 添加。
ggupset 复杂交集可视化 Upset 图是韦恩图的高级替代品,适合展示 4 个以上基因集的相交情况。
ggsurvfit 生存分析 优雅地绘制带有 P 值和 Risk table 的 Kaplan-Meier 生存曲线。
ggvolcano 差异分析火山图 专门用于一键生成美观且符合发文规范的差异基因火山图。
ggsci 学术配色库 提供顶级科学期刊 (Nature, Science, Lancet) 的经典配色方案。
ggh4x 复杂分面/坐标轴 精细控制多组学图表每个分面的比例和多重颜色映射。
ggalluvial 冲积图/桑基图 展示单细胞轨迹、状态转换或多组学数据流向的对应关系。
ggrastr 大数据量渲染 仅光栅化海量散点(如单细胞点图),保留坐标系矢量化,解决PDF过大问题。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容