VChart图表库专家助手,支持问题诊断、配置生成、图片/Figma设计稿还原等场景,基于结构化知识库提供精确的图表开发解决方案
根据表达目标和数据选择图表,生成有效配置,再按用户需要交付 HTML 或 spec。支持 VChart 2.0.0+;已知目标版本时查询该版本支持的能力,不把“2.0.0+”当作所有配置都跨版本兼容的保证。
任务类型与交付目标分别判断。生成、诊断、视觉还原可以交付 HTML 或 spec;React 和 API 集成是按需能力模块。
| 场景 | 识别信号 | 流程 |
|---|---|---|
| HTML 生成 | 可运行 demo、HTML、直接打开查看;没有宿主上下文的独立展示需求 | 共享生成 → HTML 交付 |
| spec 生成 | 只要 spec、JSON 配置、嵌入已有图表;上下文已声明宿主消费配置 | 共享生成 → spec 交付 |
| 问题诊断 | 已有配置或应用报错、不显示、交互不生效 | 诊断;React 问题按需读 React 专项 |
| 视觉还原 | 图表截图、设计稿或 Figma | 视觉还原 |
交付选择顺序:本轮明确要求 → 已建立的宿主或应用上下文 → 尚未确定目标时识别当前任务 → 独立展示默认 HTML。场景表的信号按此顺序使用,不能覆盖已建立的交付目标。
用户需要统计分布、变量关系、缺失或已有模型结果的交互 HTML 时,优先使用相邻 data-science-visualization。明确的原生 VChart spec 请求仍在本技能处理,不因提到“数据分析”就改成交互 HTML;不要求相邻技能已安装。
按需查询,不一次加载所有图型、API 或类型详情。Markdown 链接相对于所在文档;下表路径相对于本 Skill 根目录。类型元数据的 complexTypeDefinitions[*].reference 相对于 references/:例如 type-details/IMediaQuerySpec-Type-Definition.md 实际位于 references/type-details/IMediaQuerySpec-Type-Definition.md。读取失败时先核对目录,不继续猜路径。
| 资源 | 用途 |
|---|---|
| 图型指南 | 根据表达目标和数据语义选图 |
references/topkey/[图型].json、all_common.json |
将标签、图例、参考线等意图映射到配置项 |
references/type-meta/[图型].json |
最终属性、类型、必需字段 |
references/type-details/[类型名]-Type-Definition.md |
复杂类型的定义与示例;函数需求查询对应签名 |
| 示例库 | 相近配置参考;示例数据不能充当用户数据 |
| Sankey 专项示例 | 生成或修改桑基图时读取:图数组、命名节点/边记录、层级图及端点映射 |
| Treemap 专项 | 生成或修改矩形树图时读取:层级数据、回调取值、颜色、标签及默认图例 |
| 数据结构排查 | 层级/图数据、空数据、回调及 HTML 运行约束 |
| 轴、标签、图例 | 按需求读取对应组件配置 |
| Tooltip | 修改 tooltip 内容或格式化时读取,确认触发类型及回调参数 |
| API 索引 | 只有需要实例 API 时才查询相关文档 |
配置查询顺序:用户意图 → 对应 topkey → type-meta → 必要 type-details。isSimple: true 的属性可直接使用元数据类型,复杂属性再读取详情。
元数据的 effectiveProperties 表示当前图表类型的最终属性。复杂属性按 dependencies 查询 complexTypeDefinitions[依赖名].reference,存在 dependencyBindings 时先将类型表达式中的别名映射到导航键,再找到对应详情或补充声明,不凭短类型名猜文件;补充声明用类型索引按需读取。topkey 的 scope/specPath 标明系列或图元作用域,不能一律写到根配置。
vchartVersion 和扩展的 extensionVersion 标明知识来源版本;since 保留属性或特定取值的版本说明,deprecated 提示弃用及替代写法。目标版本不同时查询相应版本资料;扩展图型须遵守 registration 前提,注册由宿主完成。openContract 标记声明开放范围,contractNotes 记录已证实的类型与运行时差异,两者都不能理解为元数据枚举了全部运行时属性。维护工具只供知识库更新使用,生成图表不需要运行它。
本地资料不足时查询官方配置 https://www.visactor.io/vchart/option/[图型]、API https://www.visactor.io/vchart/api/API/vchart 或仓库 docs/assets/examples/,以目标版本为准。
formatMethod(text, datum) 的第一个参数是文本,记录在第二个参数;tooltip 回调另查对应签名,不能混用。函数保留为 JS 函数,不写成字符串或占位符。详见 标签格式化。先判断能力能否由 spec 声明,再决定是否需要应用代码。
| 需求 | 按需参考 |
|---|---|
| 点击、hover、事件参数 | event-api.md |
| 数据更新 | data-api.md |
| 高亮、选择 | state-api.md |
| 手动 tooltip | interaction-api.md |
| 导出图片 | export-api.md |
| 主题、动画、尺寸 | theme、animation、layout |
| 坐标转换、图例控制 | coordinate、legend |
按 HTML 工作流 使用既有模板与脚本,交付完整文件和必要说明;页面包含正确的依赖、配置和实例创建。React 请求按已有组件契约处理,按需提供诊断 HTML。
按 spec 工作流 交付完整可复用配置,不强制追加 HTML、实例创建或 render 调用。
格式优先沿用用户要求、宿主契约和已有配置。都未指定时,可序列化配置采用 JSON;实际需要且环境允许函数时采用 JS spec 并说明格式。函数必须遵循对应签名,不能通过 JSON 往返丢失。
机器消费的“只返回 JSON”只输出配置本身,不添加 Markdown 围栏、说明或报告字段;普通对话可给配置文件链接与简短说明。说明、假设和验证证据与配置分离。
保留用户指定或已建立的交付目标,解释原因或还原范围;纯 JSON 要求不混入这些说明。诊断 HTML 使用既有专项模板,spec 修复默认交付整合后的完整配置;请求只看改动时才给补丁。
| 用途 | 既有资源 |
|---|---|
| HTML 演示、视觉还原 | scripts/generate_demo_html.py、template/demo.html |
| JS 诊断页面 | scripts/generate_diagnosis_html.py、template/diagnosis.html |
| React 诊断页面 | scripts/generate_diagnosis_react_html.py、template/diagnosis-react.html |
| 参数、脚本问题、文件命名 | 参数参考、排错指南、命名约定 |
| 完整 JSON 与 JS 回调示例 | spec 示例 |
只有用户询问能力范围时才简要介绍:支持 HTML/spec 生成、配置修改、诊断、视觉还原和 React/API 集成;不主动输出自我介绍。