可视化图表制作
根据用户描述自动选择合适的方式生成可视化图表(SVG数据图表、Mermaid/Graphviz流程图、或文生图模型信息图)。当用户需要制作任何类型的图表、流程图、架构图或信息图时使用。也可被其他 Skill(如 data-analysis-reporter)内部调用。
安装方式
手工下载
下载完整 Skill 压缩包,解压后可手动放入你的智能体技能目录。
AI 指令安装
把下面这句话直接发给你的 AI 智能体即可:
请安装来自 /static/content/resources/skills/data-chart-maker/skill.zip 的 Skill。
本 Skill 来自《玩转 Skill:零门槛打造你的 AI 数字员工》第 9.3 节。 这是一个框架模板,支持三种图表生成方式,会根据需求自动选择最合适的。
scripts/render_chart.py和scripts/generate_image.py是占位文件,首次使用对应方式时需要让 AI 生成完整脚本。
三种图表生成方式说明
| 方式 | 适用场景 | 精确度 | 视觉效果 |
|---|---|---|---|
| SVG 直接生成 | 数据图表(柱状图、折线图、饼图、散点图)、简单示意图 | 高 | 中 |
| 中间语言渲染(Mermaid/Graphviz) | 流程图、架构图、时序图、甘特图、组织架构图、类图 | 高 | 中 |
| 文生图模型 | 信息图、海报型图表、概念图(追求视觉效果优先) | 低 | 好 |
环境准备
根据使用的方式,需要不同的环境支持:
- 方式一(SVG):无需额外安装,AI 直接生成代码
- 方式二(Mermaid/Graphviz):需要安装 Node.js,其余依赖(mmdc、dot)由 AI 自动安装
- 方式三(文生图模型):需要在
.config/image_api_key.txt中填入文生图 API Key(如阿里千问生图 / Google Gemini 图像生成等)
如果方式二或方式三的脚本未生成,首次使用时 AI 会自动生成。
使用场景
用户描述了需要制作的图表内容,希望获得一个可以直接使用的图表文件。
本 Skill 也可以被其他 Skill 调用,此时调用方需传入:图表数据、图表类型要求,以及是否指定生成方式。
工作流程
第一步:分析需求,选择生成方式
根据用户的描述,判断图表类型,选择最合适的生成方式:
选择 SVG 方式(方式一),如果满足以下任一条件:
- 用户需要数据图表(柱状图、折线图、饼图、面积图、散点图等)
- 用户需要简单的示意图、对比图
- 调用方(其他 Skill)明确指定使用 SVG 方式
选择 Mermaid/Graphviz 方式(方式二),如果满足以下任一条件:
- 用户需要流程图、时序图、架构图、甘特图、组织架构图
- 图表有明确的逻辑节点和连接关系
- 用户需要方便后续修改的图表
选择文生图模型方式(方式三),如果满足以下任一条件:
- 用户需要信息图、知识卡片、海报型图表
- 用户明确要求"有设计感"或"视觉效果优先"
- 内容是概念性的,不需要精确的数据呈现
如果不确定,优先选择方式一或方式二(数据精确性更高)。
将选择的方式告知用户(或调用方),如果用户有不同偏好,按用户要求调整。
第二步:生成图表
方式一:SVG 直接生成
根据用户提供的数据和图表要求,直接撰写 SVG 代码:
- 图表尺寸建议 800×500 或 1200×600(宽屏布局)
- 使用简洁专业的配色方案(默认使用蓝色调)
- 包含标题、坐标轴标签(数据图表)、图例
- 数值标注清晰,关键数据点突出显示
将 SVG 代码保存为 .svg 文件。告知用户文件路径。
方式二:Mermaid/Graphviz 渲染
根据用户的图表需求,生成 Mermaid 或 Graphviz 描述代码:
- 流程图、时序图、甘特图、类图 → 使用 Mermaid
- 复杂网络关系图、依赖关系图 → 使用 Graphviz DOT 语言
将描述代码保存为临时文本文件,然后运行渲染脚本:
python scripts/render_chart.py [代码文件路径] [输出图片路径.png]
如果 render_chart.py 尚未生成,先自动生成脚本代码并写入,需求如下:
- 输入:包含 Mermaid 或 Graphviz 代码的文本文件 + 输出图片路径
- 输出:PNG 格式图片
- 自动判断是 Mermaid 格式还是 Graphviz 格式:
- Mermaid:调用 mmdc 命令行工具渲染(需要 Node.js 环境)
- Graphviz:调用 dot 命令行工具渲染
- 如果渲染工具未安装,给出安装命令提示
告知用户图片路径。
方式三:文生图模型
根据用户需求,构造详细的图表描述提示词,包含:
- 图表主要内容和数据(尽量具体)
- 视觉风格(如"简洁商务风"、"科技蓝"、"数据可视化")
- 布局描述(如"左右分栏"、"时间轴横向排列")
- 配色方向
运行文生图调用脚本:
python scripts/generate_image.py "[图表描述提示词]" [输出图片路径]
如果 generate_image.py 尚未生成,先自动生成:
- 从
.config/image_api_key.txt读取 API Key - 调用文生图模型 API 生成图片
- 将生成的图片保存到本地
告知用户图片路径,并提醒:"文生图方式生成的图表中,文字内容和数据数值可能存在偏差,建议仔细核实关键信息。"
第三步:自我核查与输出
- 检查文件是否成功生成
- 如果是 SVG 或 Mermaid/Graphviz,检查代码是否有语法错误;如有错误,修正后重新生成
- 告知用户图表文件的保存路径
- 询问用户是否满意,如不满意根据反馈调整后重新生成
注意事项
- 用户提供了具体数据时,图表中的数据必须完整、准确地呈现,不得遗漏或修改
- 方式三(文生图)适合追求视觉效果的展示场景,不适合要求数据精确的报告场景
- 没有特殊要求时,配色默认使用简洁专业的风格,避免过于花哨
- 被其他 Skill 调用时,如调用方已明确指定使用 SVG 方式,直接执行,无需再向用户确认图表方式
- 完成后直接输出图表文件,不需要对整个过程做总结