multi-chart-draw

- 本 Skill 用于:根据用户需求生成多种类型的图表,包括思维导图、流程图、数据可视化图表等

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "multi-chart-draw" with this command: npx skills add twwch/openskills/twwch-openskills-multi-chart-draw

多类型绘图工具

任务目标

  • 本 Skill 用于:根据用户需求生成多种类型的图表,包括思维导图、流程图、数据可视化图表等

  • 能力包含:

  • Mermaid 图表绘制(流程图、序列图、甘特图等)

  • ECharts 数据可视化(柱状图、折线图、饼图等)

  • Mindmap 思维导图

  • DrawIO 通用绘图

  • Flowchart 流程图(基于 Mermaid)

  • GeoGebra 数学绘图(函数、几何图形、代数方程)

  • 触发条件:用户表达"画个图"、"绘制图表"、"生成流程图"等需求

前置准备

依赖说明

  • Python 依赖包:

  • pyecharts>=2.0.0 :用于生成 ECharts 图表

  • pillow>=10.0.0 :图像处理库

  • 系统依赖(需提前安装):

  • @mermaid-js/mermaid-cli :用于渲染 Mermaid 图表

  • markmap-cli :用于渲染思维导图

安装系统依赖

在使用 Skill 之前,需要安装以下系统工具:

安装 Mermaid CLI

npm install -g @mermaid-js/mermaid-cli

安装 Markmap CLI

npm install -g markmap-cli

验证安装

mmdc --version markmap --version

输出目录准备

创建输出目录

mkdir -p ./charts-output

操作步骤

标准流程

需求分析与类型选择

  • 智能体理解用户绘图需求,确定图表类型:

  • 层级关系、知识结构、脑图整理 → Mindmap

  • 流程逻辑、步骤关系、业务流程 → Flowchart (Mermaid)

  • 时序交互、API调用、消息传递 → Mermaid Sequence

  • 数据对比、趋势分析、统计图表 → ECharts

  • 系统架构、网络拓扑、部署图、ER图 → DrawIO

  • 数学函数、几何图形、代数方程 → GeoGebra

  • 确定输出格式(PNG/SVG/HTML)

生成图表配置

  • 根据选定的图表类型,智能体生成相应的文本配置:

  • Mermaid:生成 mermaid 语法

  • ECharts:生成 option 配置 JSON

  • Mindmap:生成 Markdown 格式内容

  • DrawIO:生成 XML 格式内容

  • GeoGebra:生成命令列表或数学表达式

  • 参考 references/ 中的语法指南

调用脚本渲染

  • 根据图表类型调用对应的渲染脚本:

  • Mermaid 图表:scripts/render_mermaid.py

  • ECharts 图表:scripts/render_echarts.py

  • 思维导图:scripts/render_mindmap.py

  • DrawIO 图表:scripts/render_drawio.py

  • GeoGebra 图表:scripts/render_geogebra.py

  • 指定输出路径和格式

结果验证与交付

  • 检查生成的图表文件

  • 确认格式和内容符合预期

  • 将输出文件路径提供给用户

可选分支

  • 当需要 交互式图表:使用 ECharts 生成 HTML 格式

  • 当需要 矢量图:选择 SVG 输出格式

  • 当需要 高质量位图:选择 PNG 并设置高分辨率

资源索引

渲染脚本

Mermaid 渲染:见 scripts/render_mermaid.py

  • 用途:将 Mermaid 语法渲染为 PNG/SVG

  • 参数:--input (输入文件)、--output (输出文件)、--format (格式:png/svg)

ECharts 渲染:见 scripts/render_echarts.py

  • 用途:将 ECharts 配置渲染为 HTML(交互式图表)

  • 参数:--config (配置文件)、--output (输出文件)

Mindmap 渲染:见 scripts/render_mindmap.py

  • 用途:将 Markdown 格式的思维导图渲染为 SVG/PNG

  • 参数:--input (输入文件)、--output (输出文件)、--format (格式:svg/png)

DrawIO 图表:见 scripts/render_drawio.py

  • 用途:将 DrawIO XML 渲染为 HTML(交互式图表)

  • 参数:--input (输入文件)、--output (输出文件)

GeoGebra 渲染:见 scripts/render_geogebra.py

  • 用途:将 GeoGebra 命令渲染为交互式 HTML

  • 参数:--input (输入文件)、--output (输出文件)

参考文档

Mermaid 语法:见 references/mermaid-syntax.md

  • 何时读取:生成 Mermaid 图表时

ECharts 配置:见 references/echarts-guide.md

  • 何时读取:生成 ECharts 图表时

Mindmap 格式:见 references/mindmap-guide.md

  • 何时读取:生成思维导图时

DrawIO 格式:见 references/drawio-guide.md

  • 何时读取:生成 DrawIO 图表时

GeoGebra 语法:见 references/geogebra-guide.md

  • 何时读取:生成数学函数图或几何图形时

示例资源

  • 图表示例:见 assets/examples/

  • 包含各种图表类型的示例配置文件

注意事项

智能体能力

  • 智能体负责理解用户需求、生成图表的文本配置、选择合适的图表类型

  • 智能体应充分利用其语言理解和创作能力,生成高质量的图表内容

脚本使用

  • 脚本仅负责技术性渲染工作,接收文本输入并生成图像文件

  • 所有参数必须通过命令行参数传递,不要在脚本中硬编码

  • 确保脚本具有适当的错误处理和日志输出

格式选择指南

  • Mindmap:适合层级结构、知识梳理、项目规划、概念关系

  • Mermaid Flowchart:适合简单流程图、决策流程、算法流程

  • Mermaid Sequence:适合时序图、API调用、消息传递、交互流程

  • Mermaid 其他:甘特图(项目进度)、状态图、类图、ER图(简单)

  • ECharts:适合数据可视化(柱状图、折线图、饼图、散点图等)

  • DrawIO:适合系统架构图、网络拓扑、部署图、ER图(复杂)、UML图

  • GeoGebra:适合数学函数、几何图形、代数方程、统计分析

类型选择示例

  • "项目计划" → Mindmap

  • "用户注册流程" → Mermaid Flowchart

  • "API调用时序" → Mermaid Sequence

  • "季度销售额" → ECharts 柱状图

  • "系统架构图" → DrawIO

  • "函数图像" → GeoGebra

输出管理

  • 建议将输出文件统一放在 ./charts-output/ 目录下

  • 使用有意义的文件名,如 mindmap-project-plan.svg 、flowchart-api-call.png

  • 注意输出格式的适用场景(SVG 适合矢量编辑,PNG 适合展示)

使用示例

示例 1:绘制流程图

需求:绘制一个用户注册流程图

执行方式:

  • 智能体生成 Mermaid flowchart 语法

  • 调用 scripts/render_mermaid.py --input temp.mmd --output ./charts-output/registration-flow.png --format png

关键参数:

  • 输入:Mermaid 语法的 .mmd 文件

  • 输出:PNG 格式图片

示例 2:生成数据可视化图表

需求:生成月度销售数据的柱状图(包含多个产品系列)

执行方式:

  • 智能体生成 ECharts option 配置 JSON(在一个配置文件中包含所有系列)

  • 调用 scripts/render_echarts.py --config sales-data.json --output ./charts-output/sales-chart.html

关键说明:

  • 所有系列应放在同一个配置文件的 series 数组中

  • 不要为每个系列创建单独的配置文件

  • 示例:assets/examples/echarts-multi-series.json

示例 3:创建思维导图

需求:为项目规划创建思维导图

执行方式:

  • 智能体生成 Markdown 格式的思维导图内容

  • 调用 scripts/render_mindmap.py --input project-plan.md --output ./charts-output/project-mindmap.svg --format svg

关键参数:

  • 输入:Markdown 格式的 .md 文件

  • 输出:SVG 格式(矢量图)

示例 4:绘制系统架构图

需求:绘制微服务系统架构图(包含前端、后端、数据库、缓存等组件)

执行方式:

  • 智能体生成 DrawIO XML 格式

  • 调用 scripts/render_drawio.py --input architecture.xml --output ./charts-output/system-architecture.html

关键参数:

  • 输入:DrawIO XML 格式的 .xml 文件

  • 输出:HTML 格式(交互式图表,支持导出 SVG/PNG)

  • 特点:可在浏览器中直接查看、缩放、拖动

示例 5:绘制数学函数图

需求:绘制函数 y = x² 和 y = sin(x) 的图像

执行方式:

  • 智能体生成 GeoGebra 命令列表

  • 调用 scripts/render_geogebra.py --input function-commands.txt --output ./charts-output/function-plot.html

关键参数:

  • 输入:包含 GeoGebra 命令的文本文件

  • 输出:HTML 格式(交互式 GeoGebra 图形)

重要提示

ECharts 多系列图表

  • ✅ 正确做法:将所有系列放在一个配置文件的 series 数组中 { "series": [ {"name": "系列1", "type": "bar", "data": [...]}, {"name": "系列2", "type": "bar", "data": [...]}, {"name": "系列3", "type": "bar", "data": [...]} ] }

  • ❌ 错误做法:为每个系列创建单独的配置文件

  • 不要创建 series1.json 、series2.json 、series3.json

  • 这会生成多个独立的图表,而不是一个图表中的多个系列

参考示例

  • 单系列示例:assets/examples/echarts-bar-standard.json

  • 多系列示例:assets/examples/echarts-multi-series.json

  • 折线图多系列:assets/examples/echarts-line-standard.json

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

infographic-creator

No summary provided by upstream source.

Repository SourceNeeds Review
General

excel-processor

No summary provided by upstream source.

Repository SourceNeeds Review
General

docx-processor

No summary provided by upstream source.

Repository SourceNeeds Review