1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | matplotlib-fundamentals-gptomics-bioskills |
| 项目自述名称 | matplotlib Fundamentals(SKILL.md 内部标题) |
| 作者/维护者 | GPTomics Organization |
| 来源链接 | https://github.com/GPTomics/bioSkills/tree/main/data-visualization/matplotlib-fundamentals |
| 许可证 | MIT(数据来源:GitHub API,仓库级) |
| GitHub Stars / Forks | 所属合集仓库 bioSkills 整体 1,142 / 194(数据来源:GitHub API;⚠️ 为整个合集的数字,不代表本技能自身热度) |
| 最新版本 | 本子技能内容最近一次提交于 2026-07-10(数据来源:GitHub API commits,按该子目录路径查询) |
| 安装方式 | 复制 data-visualization/matplotlib-fundamentals/ 整个目录(含 SKILL.md、examples/、usage-guide.md)到 agent 的 skills 目录,或用仓库自带安装脚本按分类批量安装 |
2. 功能介绍与亮点
- 系统化封装用 Python matplotlib/seaborn 产出期刊发表级图表的正确做法:坚持面向对象的 Figure/Axes API(而非 pyplot 状态机),用
constrained_layout替代已过时的tight_layout,并强制 Type-42(TrueType)字体嵌入以通过 Nature、IEEE、ACM 等出版商的自动化审稿检查 - 给出针对生物数据的具体排版细节:Nature 单栏/双栏图的毫米级尺寸换算、5–7pt 正文字号规范、CVD 色觉友好的 Okabe-Ito 分类色板与 Crameri/viridis 连续色板选型
- 明确区分 seaborn 坐标轴级函数(返回 Axes)与图级函数(返回 FacetGrid)在设置轴标签时的 API 差异,避免混用报错
- 系统整理 8 类具体失败模式对照表(Type-3 字体被拒、tight_layout 在复杂网格失效、10 万点散点图拖垮 PDF 阅读器、mm 误当英寸等),逐条给出触发条件、症状与修复方法
- 附可运行的 Python 示例脚本与独立
usage-guide.md,并列出规范参考文献(Hunter 2007 matplotlib 原始论文、Rougier 2014《更好绘图的十条简单规则》、Waskom 2021 seaborn 论文)
3. 适用场景
所属分类:数据分析与可视化
面向需要用 Python 产出可直接投稿的发表级图表的生物信息学研究者与数据分析人员,典型场景包括:RNA-seq 差异表达散点图、单细胞降维嵌入图、含多个子图的复合图版、需通过期刊自动化格式检查的最终投稿图。这类图表的常见错误往往在屏幕上看不出异常,只有提交后才会被拒——agent 结合该技能可直接按期刊规范产出代码,减少返工。
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 官方生物信息学技能网关(
research-bioinformatics)已索引的清单中;SKILL.md 遵循同一套通用格式,理论上可手动安装,但缺乏官方网关层面的确认
5. 推荐理由
“用 Python 画张图”看似简单,但发表级图表暗藏多个不易察觉的坑:默认字体类型被期刊自动化系统拒收、图幅单位换算错误、大规模散点未栅格化导致 PDF 臃肿。该技能把 matplotlib 生态里分散的正确做法系统化整理成可直接套用的 rcParams 配置、失败模式对照表与代码模板,帮助 agent 一次产出能通过期刊格式审查的图表。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 5 | 所属合集仓库整体 1,142 stars 不代表本技能自身热度;本技能未见于 Hermes 官方网关索引,所属仓库当前公开 Issue 为 0,未检索到针对该子技能的具名第三方评价或独立采用数据 |
| 可用性 | 9 | SKILL.md(11.5KB)+ 独立 usage-guide.md + 可运行 Python 示例脚本,内容详尽且开头即给出版本核验方法;依赖为一条 pip 命令可装好的开源包(matplotlib/seaborn/cmcrameri),无付费依赖;本子技能内容最近一次提交为 2026-07-10 |
| 安全性 | 9 | 纯提示词模板 + 本地 Python 绘图代码,无 shell 命令执行,无任何网络外发(不像同合集部分技能会调用可选的外部数据库);MIT 许可证明确;通读全文与示例脚本未见混淆逻辑或可疑指令 |
安全检查清单:①无 shell 命令执行,内容为 Python 绘图代码与配置示例 ②不主动联网外发数据,全部处理在本地完成 ③无凭据或 API key 要求 ④SKILL.md 与示例脚本均为公开的 matplotlib/seaborn 用法,未见可疑指令 ⑤GPTomics 为持续维护该开源合集的组织账号,未见刷星等造假迹象 ⑥MIT 许可证清晰 ⑦最近一次提交为 2026-07-10
7. 跟同类 Skills 相比的优势
| 维度 | 本技能(matplotlib-fundamentals) | ggplot2-fundamentals(同合集) | tvhahn/matplotlib-skill(独立项目) |
|---|---|---|---|
| 定位 | Python/matplotlib 生态的生物数据发表级图表正确性封装 | R/ggplot2 语法糖体系的同类封装 | 通用机器学习/数据科学场景的个人风格化图表生成器 |
| 期刊合规细节 | Type-42 字体嵌入、Nature 毫米级尺寸换算、5–7pt 字号规范等期刊自动化审稿要点 | cairo_pdf TrueType 嵌入、theme_classic 基线,同属期刊合规范畴但语法体系不同 | 未见期刊字体/尺寸合规相关内容,聚焦作者个人审美的配色与去边框风格 |
| 典型输出场景 | RNA-seq 散点、单细胞降维图等生物数据大规模散点(含栅格化处理指导) | 与本技能同类,但服务 R 用户 | 柱状图、PR/ROC 曲线等通用机器学习评估图表 |
三者服务不同用户群体:R 用户选 ggplot2-fundamentals,Python 用户且需期刊合规细节选本技能;只需通用机器学习图表可选更轻量的 tvhahn/matplotlib-skill,但其不含期刊字体合规与大规模生物数据散点处理指导。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;所属仓库当前公开 Issue 数为 0,未见针对本子技能的具名反馈。
9. 其他补充
SKILL.md 的「Related Skills」交叉引用同合集内的 color-palettes(色板选型)、multipanel-figures(复合图版布局)、distribution-plots(seaborn 箱线图/小提琴图)、heatmaps-clustering、volcano-and-ma-plots 与 reporting/figure-export,可见本技能在合集内承担“matplotlib 底层作图规范”这一基础角色,其他专用图表技能均在此基础上叠加。
10. 安装使用方式
- 从 GitHub 下载或克隆仓库子目录:
data-visualization/matplotlib-fundamentals/ - 复制整个目录(含
SKILL.md、examples/、usage-guide.md)到所用 agent 的 skills 目录(如 Claude Code 的~/.claude/skills/或项目内.claude/skills/);也可克隆整个仓库后用./install-claude.sh --categories "data-visualization"批量安装同分类下全部技能 - 安装依赖:
pip install matplotlib seaborn numpy pandas cmcrameri(cmcrameri仅在使用 Crameri 科学色板时需要) - 无需重启 agent,安装后下次对话即可通过自然语言描述需求触发(如“用 Figure/Axes API 画一张 89mm 宽的 Nature 单栏散点图,TrueType 字体嵌入,Okabe-Ito 配色,10 万点栅格化”)
11. 注意事项
pdf.fonttype=42等 rcParams 需在绘图前显式设置,遗漏会导致默认 Type-3 字体被期刊拒收,且屏幕预览阶段看不出异常- 大规模散点(>1000 点)务必对
scatter/imshow单独设置rasterized=True,否则矢量 PDF 可能膨胀到数十 MB - seaborn 图级函数(
displot/catplot/relplot)返回 FacetGrid 而非 Axes,需用.set_axis_labels(),混用会报 AttributeError - 仓库为社区维护的生物信息学技能合集,非任何厂商官方出品,选用前建议自行核对示例代码与当前环境版本是否匹配