Skip to content

Repository files navigation

ModelViz Skill

AI 数学建模 × 科研可视化

从自然语言需求和真实数据出发,自动完成选图、模板适配、绘图生成、质量检查与有限自动修复。

Agent Skill Nearly 100 templates Supported data files Outputs

🧠 智能选图
理解表达目标与数据关系
🧩 模板适配
保留科研布局与视觉风格
📦 按需依赖
仅补全当前模板所需库
🔍 双重质检
技术检查与视觉检查

📚 目录

Note

ModelViz 不是简单地“按指令画一张图”。它会先理解用户想表达的趋势、对比、分布或相关关系,再结合真实数据,从模板库中筛选合适方案,保留科研版式与配色,最终输出可复现代码、图表和质量报告。

做数学建模图表时,真正耗时间的往往不是调用一次绘图库,而是找到合适的科研版式、完成数据列映射,并把标题、坐标轴、图例和配色调整到可以直接放进论文或答辩中。

ModelViz 将这套流程整理成一个可复用 Skill:内置近百个正式科学可视化模板,配套上百个预览与模板资产,覆盖聚类降维、相关性、分布不确定性、预测评估、敏感性分析、网络关系、空间分析和时序趋势等方向。

✨ 为什么使用 ModelViz

  • 从表达目标出发:先判断趋势、对比、分布、相关性等核心任务,再决定图表形式。
  • 从真实数据出发:基于实际字段、类型和关系完成模板筛选与数据映射。
  • 从论文阅读习惯出发:优先选择清晰、规范、低饱和、重点突出的科研版式。
  • 从可复现流程出发:同时输出图表、Python 代码和质量报告。

🖼️ 效果预览

ModelViz 效果预览合集 3

ModelViz 效果预览合集 2

ModelViz 效果预览合集 1

聚类关联矩阵预览
聚类关联矩阵
聚类热力图预览
聚类热力图
GAM 等高线面板预览
GAM 等高线面板
SHAP 交互网络预览
SHAP 交互网络
三角相关热力图预览
三角相关热力图
三角网络相关图预览
三角网络相关图
弦图网络关系预览
弦图网络关系
径向综合评价预览
径向综合评价
RDA 排序分析预览
RDA / 排序分析
环形柱状对比预览
环形柱状对比
聚类投影密度预览
聚类投影密度
热力图排名矩阵预览
热力图排名矩阵
小提琴分布矩阵预览
小提琴分布矩阵
三维响应面组合预览
三维响应面组合
扇形相关热力图预览
扇形相关热力图
边际回归散点图预览
边际回归散点图
散点矩阵热力图预览
散点矩阵热力图
多关系散点面板预览
多关系散点面板
敏感性等高线矩阵预览
敏感性等高线矩阵
空间主导因子图预览
空间主导因子图

🧠 核心能力

能力 说明
科学可视化模板库 templates/ 保存数学建模和科研报告常见图表模板,docs/template_catalog.yaml 记录统一元数据。
自然语言需求结构化 将用户描述解析为固定 Pydantic 结构,保留图表类型、功能、风格、使用场景和负面要求。
候选模板召回 使用确定性匹配工具召回 5–10 个候选模板,优先考虑功能和图表类型。
结合数据最终选择 由大语言模型读取数据上下文,并且只能从候选模板中选择最终模板。
模板风格保留 学习选定模板的布局、配色、字体、图例和坐标轴风格,再适配用户数据。
按需依赖补全 选定模板后才识别、检查和安装实际需要的第三方 Python 包。
可复现绘图代码 适配后的代码保存为工作区脚本,不修改原始模板和用户数据。
技术与视觉质量检查 检查执行结果、图片可读性、空白风险、警告以及图表是否满足用户目标。
有限自动修复 只修复报告明确指出的问题,避免无限循环和过度重写。

🎯 适用场景

✅ 适合 ❌ 不适合
  • CSV、XLSX 或 XLS 数据的论文与答辩绘图
  • 只描述分析目标、但不确定图表类型
  • 希望复用现有模板的科研风、布局和配色
  • 需要图片、可复现代码和质量报告
  • 只解释数学概念而不需要绘图
  • 任务依赖真实数据,但用户没有提供数据
  • 模板库完全不支持目标图表类型
  • 要求修改原始数据或执行与绘图无关的任意代码

💬 使用示例

在支持 Skill 的宿主软件中,可以直接用自然语言描述任务:

请使用这个科学可视化 Skill。

数据文件是 data.xlsx。
我想比较不同地区各项指标的差异,要求适合数学建模论文,
突出整体差异和异常地区,不要使用三维图。
查看更多示例
请用 data.csv 画不同年份产量和增长率的趋势图,适合论文正文,风格简洁。
请分析这些变量之间的相关性,生成科研风热力图,要求标签清晰。
我想展示不同算法的预测误差对比,不要饼图,尽量突出误差和排名。
请展示多指标综合评价结果,适合数学建模答辩展示,低饱和配色。

🔄 工作流程

flowchart TD
    A["用户需求与数据"] --> B["需求结构化"]
    B --> C["候选模板召回"]
    C --> D["结合数据选择模板"]
    D --> E["按需检查依赖"]
    E --> F["模板适配"]
    F --> G["绘图执行"]
    G --> H["技术与视觉检查"]
    H --> I{"需要修复?"}
    I -- "是" --> J["局部自动修复"]
    J -. 重新执行 .-> G
    I -- "否" --> K["返回图片、代码和报告"]
Loading

Important

宿主模型应先读取根目录 SKILL.md,再按其中的阶段流程调用 Prompt、Tools 和 Services。不要绕过工具直接编造候选模板、依赖状态、生成图片或质量结果。

🗂️ 项目结构

查看关键目录
modelviz-skill/
├── SKILL.md
├── README.md
├── prompts/
├── templates/
├── docs/
├── src/
│   ├── prompts/
│   ├── schemas/
│   ├── tools/
│   └── services/
├── tests/
├── evals/
├── examples/
├── gallery/
├── workspace/
├── outputs/
└── requirements.txt
目录 作用
SKILL.md Skill 总入口和实际执行流程
templates/ 原始绘图模板库,运行时应保持只读
prompts/ 模板适配、视觉检查和代码修复规则
src/prompts/ 可执行的 ChatPromptTemplate 定义
src/tools/ 文件读取、匹配、依赖检查、执行和质量检查工具
src/services/ 阶段 2–6 的流程入口
docs/ 模板目录、需求词表、依赖映射和阶段说明
tests/ 单元测试和集成测试
evals/ 离线评估案例、脚本和指标报告
gallery/ 汇总后的预览图库
workspace/ 运行时中间文件
outputs/ 最终图表输出目录

🧭 主要阶段入口

阶段 入口
需求解析 src.services.requirement_parser.parse_and_save_requirement
候选召回 src.services.candidate_matching_pipeline.run_candidate_matching_pipeline
最终模板选择 src.services.final_template_selection_pipeline.run_final_template_selection_pipeline
模板依赖与代码适配 src.services.template_adaptation_pipeline.run_template_adaptation_pipeline
技术检查、视觉检查和修复 src.services.plot_quality_pipeline.run_plot_quality_pipeline

这些入口由 SKILL.md 编排。模型语义判断步骤需要宿主提供支持结构化输出的模型对象;测试和离线评估使用 Mock 结构化输出验证流程衔接。

📦 按需依赖机制

模板库涉及多种绘图库和科学计算库,因此不建议预先安装所有模板可能用到的依赖。当前 requirements.txt 只保留 Skill 编排和测试所需的核心依赖。

读取模板 import
→ 合并 catalog 依赖
→ 排除标准库和项目模块
→ 映射 pip 包名
→ 检查当前环境
→ 受控安装缺失依赖
→ 再次验证
查看依赖安全规则
  • 不执行模板中携带的安装命令。
  • 不使用 sudo。
  • 不使用 shell=True。
  • 不安装 URL、Git 地址、本地路径或额外 pip 参数。
  • 不直接信任模型生成的包名。
  • 不覆盖项目原始 requirements.txt。
  • 当前任务依赖写入 workspace/requirements.generated.txt。
  • 个别依赖系统级组件的模板可能需要人工处理。

📤 输出内容

一次完整任务通常会产生:

输出 路径
最终 PNG、SVG 或 PDF 图表 outputs/
适配后的 Python 绘图代码 workspace/adapted_plot.py
最终模板选择结果 workspace/final_template_selection.json
数据列映射与适配计划 workspace/adaptation_plan.json
当前任务依赖报告 workspace/dependency_report.json
技术质量报告 workspace/technical_quality_report.json
视觉质量报告 workspace/visual_quality_report.json
最终质量报告 workspace/final_quality_report.json

普通用户不需要手动编辑这些中间 JSON。流程失败时,宿主模型应准确说明失败阶段、原因和建议,不应伪造成功结果。

📊 质量评估

Warning

以下数据来自当前精简离线评估集。模型相关步骤使用 Mock 结构化输出,程序化工具调用真实实现;这些结果不代表所有真实数据和所有宿主模型的表现。

指标 当前结果
端到端任务成功率 87.50%
候选模板 Recall@5 100.00%
候选模板 Recall@8 100.00%
最终模板选择准确率 100.00%
首次代码执行成功率 62.50%
最终代码执行成功率 87.50%
图片质量平均分 4.50 / 5
自动修复成功率 100.00%
数据列幻觉率 0.00%
候选范围违规率 0.00%
原始模板修改率 0.00%
用户数据修改率 0.00%

完整报告见 evals/evaluation_report.md 和 evals/evaluation_summary.json。

🛡️ 安全说明

  • 原始模板目录 templates/ 应保持只读。
  • 用户原始数据不会被覆盖。
  • 适配代码、依赖报告和修复历史写入 workspace/。
  • 最终图片写入 outputs/。
  • 依赖安装受到包名格式、数量和轮数限制。
  • 自动修复最多执行有限次数,不能无限循环。
  • 使用第三方宿主或外部 Skill 前,应审查其 SKILL.md 和可执行脚本。

⚠️ 当前限制

  • 模板库覆盖范围有限,候选模板都不合适时应停止并追问或说明原因。
  • 大型数据会抽样进入模型上下文,不能声称模型看过全部原始数据。
  • 复杂 Excel 工作簿可能需要用户指定 Sheet。
  • 某些模板依赖额外系统组件,无法仅靠 pip 自动解决。
  • 大语言模型可能无法一次完成复杂模板适配。
  • 自动修复不能保证解决所有运行和视觉问题。
  • 视觉质量检查依赖宿主是否能把真实图片内容传给视觉模型。

🧪 开发与测试

python -m pytest -q

离线评估:

python -m evals.run_evaluation

代码风格检查当前覆盖编排源码、Schema、测试和评估脚本;原始模板库 templates/ 不纳入 Ruff 格式化范围。


ModelViz Skill · 让 AI 数学建模的最后一张图,也具备科研表达力

About

数学建模AI科研skill可视化绘图:ModelViz 是一个面向数学建模竞赛与科研写作场景的可视化 Skill。项目内置上百个覆盖多种建模场景的高质量科研绘图模板,将不同功能的图表按统一类别和编号管理,并确保模板源码可独立运行、稳定输出图片。后续系统将通过结构化模板信息、数据特征分析与检索规则,根据用户上传的数据和自然语言需求,推荐适合的图表类型、字段映射与配色方案,再调用对应模板生成可复现的 PNG、SVG 或 PDF 图像。项目重点解决通用大模型直接生成绘图代码时风格不统一、运行不稳定、参数难复用等问题,强调模板驱动、配置清晰、结果可复现和科研表达规范。

Topics

Resources

Stars

277 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages