本节摘要:dataviz 是 Claude Code 内置的数据可视化技能,它把「把图画好看」变成一套有表单启发式、可运行配色验证器、标记规范的程序化流程——结果是「按构造正确」而非「靠品味」。核心心法是「颜色可计算,所以去计算它」:绝不肉眼判断配色是否色盲安全,跑
validate_palette.js验证器。流程是「先选型再上色」:数据的工作(量级/身份/极性/单一头条/时序变化)决定图表类型(有时答案根本不是图,而是统计磁贴);颜色按工作分配(分类/顺序/发散/状态各一条规则);验证通过后才上标记规范与悬停层。本节讲透这套设计系统无关的方法:表单启发式、配色公式与六项检查、标记规范、反模式清单。读完本节,你能产出读起来像一个系统、明暗一致、可访问的图表。
内容来源:Anthropic 官方 Claude Code 技能
bundled-skills/dataviz/SKILL.md及references/choosing-a-form.md、references/color-formula.md、references/anti-patterns.md(随 Claude Code 分发,从泄露素材库提取),汉化并套用体系化模板。
阅读完本节,你应当能够:
validate_palette.js 验证器而非肉眼判断色盲安全,说清六项检查。dataviz 技能最关键的习惯:「颜色这部分是可计算的,所以去计算它」。绝不肉眼判断一个配色是否色盲安全——跑 scripts/validate_palette.js 验证器。肉眼在 CVD(色觉缺陷)条件下不可靠,验证器给出客观的 ΔE 数值与 pass/fail。
这套方法是设计系统无关的:流程、表单启发式、六项检查、标记规范都不依赖某个产品。设计系统只提供一组参数(色阶、分类顺序、发散对、状态色板、纹理、表面色、筛选控件);方法原样消费它们。要把方法套到你的品牌,只需替换参数值,结构与规则不动。
颜色是最后做的——多数糟糕图表都是先挑颜色。正确顺序是七步:
node scripts/validate_palette.js "<hex,hex,…>" --mode light,在浅色与深色表面各跑一次。完成后对照反模式清单——它是「什么会出错」的目录,你的图匹配任何一条就是错的。
选型在颜色之前决定。先问「这该是图吗」:
| 数据是… | 用 | 别用 |
|---|---|---|
| 单个当前值(+ 也许趋势) | 统计磁贴(值+变化+迷你火花线) | 单条柱状图 |
| 几个头条数字 | KPI 行(一组统计磁贴) | 分组柱状图 |
| 仪表盘的主打数字 | 英雄数字(≥48px,无衬线) | — |
| 单个相对上限的比率 | 仪表盘(同色阶轨道) | 两片饼 |
| 超过约 7 个都承载含义的类目 | 表格(或表格+图) | 更多颜色 |
确认该是图后,按工作选类型:
| 工作(读者要做什么) | 默认表单 | 颜色工作 |
|---|---|---|
| 比较量级,低→高 | 条/柱;网格用热力图 | 顺序(单色相) |
| 时序趋势 | 线;单系列用面积 | 顺序或 1 分类 |
| 区分不同系列 | 分组/堆叠条、多线 | 分类 |
| 一个系列是重点,其余是上下文 | 强调(高亮一个,其余灰) | 1 色相 + 灰 |
| 基线上下;相对目标的 Δ | 发散条,或线 vs 基线 | 发散 |
| 部分占整体 | 堆叠条(类目多/名长就横放) | 分类 |
💡 三条表单规则:(1)顺序是安全默认——单色相、越多越深,清晰一致不易误读,除非工作明确是身份或极性才换;(2)分类用于系列本身就是主题——但它有真实成本,可能埋没真正关键的那个点,如果故事是「这个涨了」,那是强调不是分类;(3)强调是被严重低估的表单——一个系列用强调色,其余用灰,常是「让图更清晰」的诚实答案。
| 系列数 | 处理 |
|---|---|
| 1~3 | 单靠颜色对所有人都舒适;直接标注 |
| 4 | 相邻表单(堆叠/条/线)仍安全,但直接标注变强制;全对表单(散点/气泡/地图/小倍数)上限是 3——折成「其它」或分面 |
| 5~6 | 软上限;图例或小倍数 |
| 7~8 | 上限;超过就把尾部折进「其它」、分面、或用复合编码(色相 × 形状) |
⚠️ 绝不靠生成更多色相解决「系列太多」:生成的第 9 个色相在 CVD 下与某个现有色相无法区分,且破坏每项检查。
颜色按工作分配,每项一条规则:
验证器六项检查(跑 node scripts/validate_palette.js "<hex,…>" --mode light,深色模式再跑一次):
⚠️ 不可商量的规则(任何设计系统都成立):分类色相固定顺序绝不循环;绝不双轴图(两个 y 轴,这是头号图表错误——两个不同量纲的度量应拆成两图、小倍数、或索引到共同基线);颜色跟随实体而非其排名(过滤改变系列数时幸存者不变色);顺序=单色相浅→深、发散=两色相+灰中点;**发任何分类色板前跑验证器**。
标记规范:细标记;2px 线;≥8px 标记点;4px 圆角数据端锚定基线;填充之间(堆叠段、相邻条)2px 表面间隙;重叠标记 2px 表面环;选择性直接标签(从不在每个点都标数字);后退式网格/轴线。文字穿文字 token,绝不穿系列色——值、标签、图例保持在主要/次要/柔和墨色,旁边一个彩色标记承载身份。
悬停层(默认加):HTML/SVG 图表本质交互。线/区域加十字准线+工具提示;条/点/单元加每标记工具提示。唯一可跳过的是无绘图的纯统计磁贴。命中目标要比标记大;筛选控件放在图表上方一行。
每张图都对照这个清单——匹配任何一条就是错的:
颜色与编码:
表单:
validate_palette.js 验证器看 ΔE。下一节讲技能生成器(run-skill-generator)、Claude Code 文档技能与深度研究技能——如何把重复工作流沉淀成可注入 agent 的技能包,以及官方如何用技能组织领域知识。