Files
EP-Hub-Skill/.agents/skills/dingtalk-misc/references/sheet/sheet-chart.md
T
2026-09-02 11:44:52 +08:00

70 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sheet 浮动图表
## 真对象约束
用户要求图表时必须创建 Sheet chart 对象,不能用单元格字符、静态图片或本地绘图冒充。chartId 必须来自本任务 create/list;所有操作复用真实 nodeId、sheetId。
常见映射:分类比较用 column/bar,趋势用 line,构成用 pie/doughnut,两个连续变量关系用 scatter。当前支持的精确类型只有:column、bar、columnStacked、barStacked、line、lineStacked、area、areaStacked、areaPercentStacked、pie、doughnut、scatter、radar。
当前不支持 combo/组合图或双轴组合图。用户要求此类图表时不得发送 `type:"combo"`,也不能谎称已经创建;应说明限制,并在用户接受时改为两个受支持的独立图表。用户已指定其他受支持类型时不擅自替换。
## 创建前
1. csv-get 读取数据范围,确认表头、类别列和系列列。
2. info 查看已用行列与结构。
3. 选择不遮挡数据的 position;宽高为正数。
4. 每个 series/category 的 A1 引用必须位于同一工作表上下文,范围长度匹配。
## 创建与查询
dws sheet chart create --node <NODE_ID> --sheet-id <SHEET_ID> --properties '{
"position":{"row":12,"col":"A"},
"dimensions":{"width":600,"height":400},
"chart":{
"type":"column",
"series":[{"name":"B1","value":["B2:B10"]}],
"category":["A2:A10"],
"title":{"show":true,"text":"销售数据"}
}
}' --format json
properties 顶层必须同时包含 position、dimensions、chart,可选 offset。硬约束:
- position.row 和 position.col 都必填;row 是 0-based 锚点行,col 必须是列字母(如 A、AA),不支持数字列号。
- dimensions.width/height 都必填且为正数。
- chart.type 必须取上面的支持枚举。
- chart.series 必须是非空数组;每项都必须有非空的 value 范围数组。series.name 可引用表头格,category 是类别范围数组。
- series/name/category 使用 A1 表示法;不带工作表前缀时使用 `--sheet-id` 对应工作表。引用跨表数据时显式带工作表前缀,不从当前名称猜测。
复杂轴、图例、颜色等字段只在用户需要时加入,不确定时读取 chart create 的 compact Schema;不得从其他表格产品照搬字段。当前常用配置面:
| 对象 | 已知字段与枚举 |
|---|---|
| `title` | `show:boolean``text:string` |
| `legend` | `show:boolean``pos` 仅为 `t` / `b` / `l` / `r` / `none` |
| `catAx` / `valAx` | `show:boolean``pos:l/t/b/r``titleConfig:{show,title}``axisMin` / `axisMax``number` / `null``splitLine:boolean``minorSplitLine:boolean``axisLabel:boolean``axisLine:boolean` |
未列出的字段或枚举以精确 leaf Schema 为准,不猜测;更新时仍须先读完整对象再整体回写。
创建后保存返回 chartId,并验证:
dws sheet chart list --node <NODE_ID> --sheet-id <SHEET_ID> --chart-id <CHART_ID> --format json
检查类型、数据范围、标题、位置和尺寸。列表成功但找不到刚创建 ID,不能称为完成。
## 更新是 PUT
chart update 的 properties 为整体覆盖,不是 patch。必须先 list 单个 chart,保留完整 position/dimensions/chart,在本地只改目标字段后整体回写:
dws sheet chart update --node <NODE_ID> --sheet-id <SHEET_ID> --chart-id <CHART_ID> --properties '<完整_PROPERTIES_JSON>' --format json
只提交局部配置会把未传字段恢复默认或删除。更新后再次 list 单个对象并比较关键字段。
## 删除
删除不可恢复。先 list 获取名称、chartId、数据范围和位置,展示摘要并获得明确同意,然后:
dws sheet chart delete --node <NODE_ID> --sheet-id <SHEET_ID> --chart-id <CHART_ID> --yes --format json
最后 list 验证对象消失。非零、坏 JSON、缺失对象或错误 ID 不得当作成功。