1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | distribution-plots-gptomics-bioskills |
| 项目自述名称 | bio-data-visualization-distribution-plots(SKILL.md 内部 name 字段) |
| 作者/维护者 | GPTomics Organization |
| 来源链接 | https://github.com/GPTomics/bioSkills/tree/main/data-visualization/distribution-plots |
| 许可证 | MIT(数据来源:GitHub API,仓库级) |
| GitHub Stars / Forks | 所属合集仓库 bioSkills 整体 1,143 / 195(数据来源:GitHub API;⚠️ 为整个合集的数字,不代表本技能自身热度) |
| 最新版本 | 本子技能内容最近一次提交于 2026-05-24(数据来源:GitHub API commits,按该子目录路径查询) |
| 安装方式 | 复制 data-visualization/distribution-plots/ 整个目录(含 SKILL.md、examples/、usage-guide.md)到 agent 的 skills 目录,或用仓库自带安装脚本按分类批量安装 |
2. 功能介绍与亮点
- 系统化封装小样本组间连续变量分布对比的绘图选型:按每组样本量 N 给出决策表——N<10 用原始散点/抖动图、N 10-30 用蜂群图(beeswarm/quasirandom)、N 30-200 用雨云图(raincloud)、N 200-1000 用字母值图(letter-value plot)、N>1000 用核密度/直方图,覆盖 R(ggplot2/ggbeeswarm/ggdist/gghalves/lvplot)与 Python(seaborn/ptitprince)双语言实现
- 核心方法论依据 Weissgerber 2015《PLOS Biology》对 703 篇顶刊生理学论文的统计——均值柱状图会让形态迥异的分布(双峰、偏态、含离群值)渲染出完全相同的柱高与误差棒,技能明确将“柱状图之外”作为默认原则,N<30 时坚持展示每个原始数据点
- 给出小提琴图核密度带宽陷阱的具体修复:ggplot2 默认 Silverman 带宽会把双峰分布过度平滑成单峰(如单细胞表达数据的 off/on 双态),需显式指定
bw = 'SJ'(Sheather-Jones 插件法);并说明trim = TRUE默认值会让小提琴尾部视觉上暗示数据范围之外仍有密度 - 系统整理 7 类具体失败模式对照表(缺口箱线图在 N<15 时“内翻”出错、箱线图与抖动点叠加导致离群值重复渲染、雨云图在 N=5 时核密度估计失去意义等),逐条给出触发条件、成因与修复代码
- 附可运行的 R 示例脚本(
examples/raincloud_phd.R,覆盖小/中/大样本量三种编码与配对分裂小提琴图)与独立usage-guide.md,并列出 Weissgerber 2015、Allen 2019(雨云图方法学原始论文)、Hofmann 2017(字母值图)、Tukey 1977 等 7 篇统计可视化原始文献
3. 适用场景
所属分类:数据分析与可视化
面向需要展示实验组间连续变量对比的生物信息学分析师、实验生物学家与统计咨询人员,典型场景包括:表达量按细胞类型/处理组分布对比、临床生物标志物按治疗组比较、任意学科小样本(N<30)实验数据的诚实可视化。这类图表最容易踩的坑——均值柱状图掩盖双峰或偏态分布、默认带宽把真实的双峰特征平滑掉——往往图面上看起来“正常”,只有统计审稿人追问原始分布时才会暴露,该技能把这些坑前置成按样本量分级的决策表与代码修复方案。
4. 跨 Agent 兼容性
- Claude Code:原生支持——仓库提供
install-claude.sh,标准 SKILL.md(YAML front matter + 指令正文)可直接安装 - Codex:原生支持——仓库提供
install-codex.sh,用法与 Claude Code 版本一致 - OpenClaw:原生支持——仓库提供专用
install-openclaw.sh,保留原始目录结构 - Hermes Agent:未验证——该技能未见于 Hermes 官方生物信息学网关已索引的清单中;SKILL.md 遵循同一套通用格式,理论上可手动安装,但缺乏官方网关层面的确认
5. 推荐理由
组间分布对比是生物信息学与实验科学中最高频的图表需求之一,也是最容易被“默认设置”坑掉的一种——均值柱状图能让本质不同的分布看起来一模一样,而小提琴图的默认带宽又会把真实的双峰特征抹平。该技能把按样本量分级的编码选型决策表、核密度带宽陷阱修复方法与 7 类常见错误模式整理成可直接调用的 R/Python 代码模板,帮助 agent 产出既好看又经得起统计审查的分布对比图。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 5 | 所属合集仓库整体 1,143 stars 不代表本技能自身热度;所属仓库当前公开 Issue 为 0,且未检索到专门指向本子技能的具名第三方评价、issue 讨论或独立采用数据 |
| 可用性 | 8 | SKILL.md(13.6KB)+ 独立 usage-guide.md + 可运行 R 示例脚本,内容详尽且给出依赖包版本核验方法;依赖为 install.packages() / pip install 一条命令可装好的开源 R/Python 包(ggbeeswarm、ggdist、gghalves、ptitprince 等),无付费依赖;本子技能内容最近一次提交为 2026-05-24 |
| 安全性 | 9 | 纯提示词模板 + 本地 R/Python 统计绘图代码,无 shell 命令执行,无任何网络外发,处理全部在本地完成;MIT 许可证明确;通读全文与示例脚本未见混淆逻辑或可疑指令 |
安全检查清单:①无 shell 命令执行,内容为 R/Python 统计分析与绘图代码及依赖安装指令 ②不主动联网外发数据,全部处理在本地完成 ③无凭据或 API key 要求 ④SKILL.md 与示例脚本均为公开的 ggplot2/seaborn/ptitprince 用法,未见可疑指令 ⑤GPTomics 为持续维护该开源合集的组织账号,未见刷星等造假迹象 ⑥MIT 许可证清晰 ⑦最近一次提交为 2026-05-24
7. 跟同类 Skills 相比的优势
| 维度 | 本技能(distribution-plots) | SciAgent-Skills(seaborn-statistical-plots) | 通用绘图库文档(seaborn/ggplot2 官方文档) |
|---|---|---|---|
| 定位 | 专精“组间分布对比该选哪种编码”的方法论封装,按样本量分级给决策 | 泛用统计绘图技能,覆盖分布、分类、关系、回归、矩阵等 seaborn 全部图类的 API 速查 | 各绘图函数的参数与用法参考手册,不含图表类型选型建议 |
| 覆盖范围 | 深入分布对比特有的样本量决策表、核密度带宽陷阱、离群值重复渲染等失败模式 | 广度优先,histplot/kdeplot/boxplot/violinplot 等一带而过,无分布图专属的选型逻辑 |
逐函数罗列参数,不涉及“什么场景该用什么图”的判断 |
| 方法学依据 | 引用 Weissgerber 2015、Allen 2019 等 7 篇统计可视化原始文献,给出具体判断阈值(N<30/30-200/200-1000) | 不含引用的方法学依据,聚焦“怎么调用” | 官方文档不涉及统计可视化最佳实践的学术依据 |
本技能是聚焦“分布该怎么画”这一具体决策点的深度参考,覆盖 R 与 Python 双语言实现;SciAgent-Skills 的 seaborn-statistical-plots 更适合已经决定好图表类型、只需要 API 调用速查的场景;官方文档适合已经明确要用哪个函数、只是忘了某个参数怎么写的场景。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;所属仓库当前公开 Issue 数为 0,未见针对本子技能的具名反馈。
9. 其他补充
SKILL.md 的「Related Skills」交叉引用同合集内的 data-visualization/statistical-annotation(在分布图上加显著性括号)、data-visualization/color-palettes(色盲友好调色板选型)、data-visualization/ggplot2-fundamentals(底层图形语法)、single-cell/markers-annotation(单细胞场景下的分裂小提琴图应用)与 clinical-biostatistics/effect-measures(应与分布图配套报告的效应量),可见本技能定位为该合集“组间分布可视化”这一环节的方法论把关。
10. 安装使用方式
- 从 GitHub 下载或克隆仓库子目录:
data-visualization/distribution-plots/ - 复制整个目录(含
SKILL.md、examples/raincloud_phd.R、usage-guide.md)到所用 agent 的 skills 目录(如 Claude Code 的~/.claude/skills/或项目内.claude/skills/);也可克隆整个仓库后用./install-claude.sh --categories "data-visualization"批量安装同分类下全部技能 - 安装依赖:R 环境下执行
install.packages(c('ggplot2', 'ggbeeswarm', 'ggdist', 'gghalves', 'lvplot'));Python 端需pip install seaborn matplotlib ptitprince - 无需重启 agent,安装后下次对话即可通过自然语言描述需求触发(如“把这个均值柱状图换成雨云图,展示每个原始数据点”“用 Sheather-Jones 带宽画组间小提琴图,让双峰分布能看出来”)
11. 注意事项
- 雨云图(raincloud)依赖的
gghalves/ptitprince在小样本(N<30)下核密度估计不具统计意义,此时应按技能建议退化为箱线图+散点,不使用小提琴部分 - 缺口箱线图(notched boxplot)需要每组 N≥15 才可靠,样本量不足时缺口可能超出四分位框、视觉上“内翻”出错
- 箱线图与抖动散点叠加时若未设置
outlier.shape = NA,离群值会被重复渲染两次 - 仓库为社区维护的生物信息学技能合集,非任何厂商官方出品,选用前建议自行核对示例代码与当前 R/Python 包版本是否匹配