信息可视化与分析交互设计规范
面向设计师与工程师:一张图让人相信"我看到的差别就是数据里的差别,我在图上做的动作就是在数据上做的动作"。这份规范规定的不是选哪种图表、配哪套颜色,而是让这两个信念成立所必须兑现的条件——编码能反推回数据、这份数据的口径说得出来、估计值不装成确定值、当前视图施加了哪些条件看得见也解得开、走到这一步的过程留得住、看不见颜色的人也拿得到同一份事实。
6 条原则 · 42 条规则 · 必须 35 · 应当 7
目录
面向设计师与工程师:一张图让人相信"我看到的差别就是数据里的差别,我在图上做的动作就是在数据上做的动作"。这份规范规定的不是选哪种图表、配哪套颜色,而是让这两个信念成立所必须兑现的条件——编码能反推回数据、这份数据的口径说得出来、估计值不装成确定值、当前视图施加了哪些条件看得见也解得开、走到这一步的过程留得住、看不见颜色的人也拿得到同一份事实。
信息可视化把数据映射成图形,分析交互让用户在图形上筛选、联动、缩放、钻取与比较。设计要同时保证量值表达可信、当前条件可解释、分析动作可恢复,以及产物离开界面后仍能被理解。
本规范由六条原则和 42 条规则组成。每条规则归属一条原则,编号对应其归属;规则共同覆盖编码、数据口径、不确定性、当前条件、分析过程与等价访问。静态报告按其实际能力选择适用条款,交互分析产品还需验证加载、失败、恢复与导出过程。
每条规则用于回答三个问题:设计要作出什么决定,工程提供什么事实,用户如何知道决定已生效。统计方法与领域口径由相应专业人员判断,本规范要求其声明与结果一致,并明确不能支持的结论。图表库、品牌主题与技术架构由产品选择。
全文四章:第 1 章原则,第 2 章规则的读法与速查,第 3 章规则详解,第 4 章术语;验证清单与论据说明见附录 A、B,完整来源见 reference.md,可配置项见《信息可视化与分析交互 Design Token》。
1. 六条原则
六条原则按规范对象切分设计责任:每条原则管辖一类对象上的义务,每条规则按其义务的直接规范对象归属唯一原则。对象不同,原则就不会互相替代——这是切分的依据,也是检验切分的方式。
| 原则 | 规范对象 | 设计方向 | 管辖规则 |
|---|---|---|---|
| VZ1 编码可反推 | 数据量与图形属性之间的映射 | 看到的差别必须能反推回数据里的差别。图形属性由数据决定,不由想要的观感决定 | VZ1-1 ~ VZ1-8 |
| VZ2 口径可核对 | 图形所依据的那份数据及其加工过程 | 这张图画的是什么时候、什么范围、按什么定义算出来的数,读者要拿得到。口径变了不能不说 | VZ2-1 ~ VZ2-8 |
| VZ3 不确定性不省略 | 估计、抽样、预测及其误差 | 估计值不是测量值。不确定性是这个数的一部分,不是可以留到最后再考虑的装饰 | VZ3-1 ~ VZ3-6 |
| VZ4 分析条件可见可解除 | 用户施加在视图上的分析动作及由此形成的视图条件 | 此刻这张图里是哪一部分数据、因为谁做了什么,必须看得见;每一项用户可控的条件都必须解得开(法定或业务固定的条件可不可解除,但须可辨识并说明依据) | VZ4-1 ~ VZ4-7 |
| VZ5 分析过程可回溯可携带 | 从起点走到当前视图的过程记录及其对外传递 | 怎么走到这一步的要留得住,退得回去;图走到哪里,它成立的条件就跟到哪里 | VZ5-1 ~ VZ5-6 |
| VZ6 数据可被感知与到达 | 图形所承载的信息在各条感知与操作路径上的可达性 | 图是一条路径,不是唯一路径。看不见颜色差异、用不了指点设备的人,要拿得到同一份事实 | VZ6-1 ~ VZ6-7 |
同一个场景可以触及多条原则——分析师在一张按大区分色的销售趋势图上框选了三个月、下钻到城市、按同比增速排序、截图发进群里——这一步同时面对分色通道是否被别的含义复用(VZ1-2)、下钻后聚合方式是否变了且是否说明(VZ2-4)、同比的算法与基期是否可解析(VZ2-6、VZ4-5)、框选与排序这两项条件是否随截图一起走(VZ5-3)、以及群里色觉障碍的同事能否分辨那三条线(VZ6-1)。这不是分类错误:五条规则约束的是五个不同规范对象上的义务,一个是通道的含义,一个是数据的加工,一个是派生量的算法,一个是产物携带的条件,一个是感知路径。互斥与穷尽是这套切分接受检验的主张,不是宣布即成立的事实:规则增删或归属存疑时,按附录 A 的分类检验验证。检验不过,修改的是原则的切分。
本切分中最需要持续检验的两处边界,在此明示:VZ1 与 VZ2——VZ1 管的是"这个量被画成了什么形状",VZ2 管的是"这个量本身是怎么来的"。柱子的长度与数值不成比例归 VZ1;柱子上那个数由三个口径不同的来源拼成而没有说明归 VZ2。同一处"看起来不对"的现象往往两边都能解释,归属依据是被规范的对象是图形属性还是数据加工。VZ4 与 VZ5——VZ4 管当前这一刻的视图条件是否可见、可解除,VZ5 管从起点到此刻的过程能否被查看、回退与带走。"筛掉了哪些地区现在看得见吗"在 VZ4,"上一步筛的是什么、能不能退回去、导出以后还写不写着"在 VZ5。这两处若在实践中反复出现归属争议,应当调整原则而不是增设中间层。
原则用于理解规则与裁决归属,本身不作为单独的判定条目。当原则与具体条款的解读出现冲突时,以适用条款为准,并记录需要澄清的歧义。
规则归属唯一,不等于机制不能复用。一份"当前视图条件"的结构化描述既是条件可见的载体(VZ4-1)、也是导出物携带条件的内容来源(VZ5-3)、还是等价路径上条件可读的依据(VZ6-5);一套"字段口径注册表"既支撑口径可获得(VZ2-2),也支撑口径变更的标注(VZ2-3)与派生量算法的解析(VZ2-6)。同一机制一物多用是常态,写在哪条取决于义务的直接规范对象。
2. 规则的读法
2.1 每条规则的结构
| 部分 | 作用 |
|---|---|
| 一句话 | 规则的记忆版,不替代正文 |
| 适用 | 这条规则在什么情境下生效。不落在适用范围内的产品记录"不适用"即可,不必勉强套用 |
| 规则 | 规范正文,规定这条规则的要求 |
| 边界条件 | 与适用共同限定要求的适用范围:说明这条规则不要求什么、例外在什么条件下成立(仅部分规则有) |
| 设计应用 / 验证示例 / 反例 | 帮助落地的说明,不另行增加义务,也不指定唯一实现 |
| 依据与参考 | 研究证据与实现参考(仅部分规则有;论据类型与出处见附录 B 与 reference.md) |
一句话概括各部分的效力:规则正文规定要求;适用与边界条件共同限定要求的适用范围;设计应用、验证示例、反例与依据参考不另行增加义务。
规则写行为性质、不写实现方式:当前视图施加了哪些条件必须可见且可解除,这是产品行为;用条件胶囊、侧栏清单还是标题下的一行说明来承载它,是设计方案——两者必须对得上,但不是同一份交付物。
2.2 约束词
规则正文使用三级约束词:
- 必须:不满足即不符合本规范。缺了它,某条对读者的承诺会在可预见的情境下失效——这是标「必须」的唯一依据。
- 禁止:与「必须」同等强度的反向表述,指明不得出现的行为;正文中的「不得」与「禁止」等价。
- 应当:默认遵循;确有理由偏离时,记录理由与替代做法,并接受同样的验证。偏离不需要审批,但需要留痕。「不应当」是「应当」的反向表述。
合规判定以正文中的独立义务子句为单位:无约束词的陈述句承接所在规则标题的强度;显式标注约束词的子句按其自身强度判定——【应当】规则内的「禁止/不得」子句仍是硬约束(VZ1-6、VZ1-7、VZ2-6、VZ3-5、VZ3-6、VZ4-6、VZ5-5 含此类子句),规则标题与速查表的强度标注不替代子句约束力。正文中的「不能」仅用于能力或事实陈述,不表达义务。
强度表示约束力,不表示重要性。
2.3 反例的两侧
反例分两侧:"做不到"是漏掉这条要求,"做过头"是为了满足它而把每张图变成一份注释比图还长的技术文档。两侧都算没做对。这个领域被做坏的方式在两端都很密集:一端是用截断、面积放大与双轴对齐把一点差异说成一场剧变,另一端是因为怕说错而把所有结论都藏进免责声明——一张折线图配六行"数据仅供参考、口径可能调整、不构成任何建议",读者照样不知道这条线是怎么算的。谨慎不等于不表态,标注不等于把判断推给读者。能被读懂的图才谈得上诚实:把所有区间、脚注与警示一次堆满,与省略它们一样会让人读不到真实的结论。
2.4 规则速查:42 条
下表是全部规则的一句话记忆版,点击规则名可跳到第 3 章的完整正文。速查不替代各条的适用条件与完整要求;个别【应当】规则内含禁止级或必须级子句(VZ1-6、VZ1-7、VZ2-6、VZ3-5、VZ3-6、VZ4-6、VZ5-5),判定以正文为准(见 2.2)。
VZ1 编码可反推
| 规则 | 强度 | 一句话 |
|---|---|---|
| VZ1-1 编码映射可解析 | 必须 | 每一条承载数据的视觉通道,都说得出它对应哪个字段、什么单位、什么范围。 |
| VZ1-2 同一通道在同一视图内含义唯一 | 必须 | 一张图里的颜色不能一处表示品类、另一处表示是否达标。 |
| VZ1-3 基线与刻度如实 | 必须 | 截断是否可用依编码性质判断:从基线起的长度与面积不得截断,位置类截断须标示。 |
| VZ1-4 面积与体积按量成比例 | 必须 | 两倍的量画成两倍的面积,不是两倍的半径。 |
| VZ1-5 双轴与多量纲不制造相关 | 必须 | 两条线贴在一起,是因为数据,不是因为你调了刻度。 |
| VZ1-6 连续量的颜色映射有序 | 应当 | 色标要能排出高低,且不制造数据里没有的分界。 |
| VZ1-7 通道精度与判读任务相称 | 应当 | 要人精确比较的量,别放在最难判读的通道上。 |
| VZ1-8 比较视图保持编码可比 | 必须 | 并排的小图,不能因为各自缩放而看起来一样大。 |
VZ2 口径可核对
| 规则 | 强度 | 一句话 |
|---|---|---|
| VZ2-1 数据时点与刷新状态随图呈现 | 必须 | 这张图上的数是什么时候的,看图的人要能当场知道。 |
| VZ2-2 指标口径可获得 | 必须 | "活跃用户"到底怎么算,要在图旁边够得着。 |
| VZ2-3 口径变更须标注 | 必须 | 定义改了,那道台阶不是业务波动,要说明。 |
| VZ2-4 聚合粒度与聚合方式可见 | 必须 | 这个点是求和、求均值还是取最新,钻取前后是不是同一种。 |
| VZ2-5 缺失、零与不适用分别表达 | 必须 | 没数据、是 0、不适用,是三件事,不能画成同一条线。 |
| VZ2-6 派生量说明其算法 | 应当 | 同比、平滑、季调、归一化,算法与基期要说得出。 |
| VZ2-7 分箱与数据简化保留判读依据 | 必须 | 图上只画了一部分,不能让人以为看到了全部。 |
| VZ2-8 时间与比较周期定义明确 | 必须 | 同一天、同一周和同比,必须使用说得清的时间边界。 |
VZ3 不确定性不省略
| 规则 | 强度 | 一句话 |
|---|---|---|
| VZ3-1 估计值不呈现为确定值 | 必须 | 估计性质与已掌握的误差信息必须可辨;不适用按所声明的量与判读任务逐项判定。 |
| VZ3-2 不确定性的含义可解析 | 必须 | 这条须线是标准差、标准误还是 95% 区间,要说清楚。 |
| VZ3-3 小样本与不稳定值有处置 | 必须 | 分母只有 7 的那一格,要么标出来,要么不出数。 |
| VZ3-4 预测与实测分别可辨 | 必须 | 历史与预测可以共图,但性质和分界必须可辨。 |
| VZ3-5 未达可区分程度的差异不表述为差异 | 应当 | 排名、色阶与"最高"标注,不要建立在噪声上。 |
| VZ3-6 不确定性表达形式与判读任务匹配 | 应当 | 加了误差棒不等于读者读懂了不确定性。 |
VZ4 分析条件可见可解除
| 规则 | 强度 | 一句话 |
|---|---|---|
| VZ4-1 当前生效的条件完整可见 | 必须 | 此刻这张图里是哪一部分数据,要在图上说得出来。 |
| VZ4-2 每个条件可单独解除 | 必须 | 加了五个筛选,要能只去掉其中一个。 |
| VZ4-3 联动的作用范围可判定 | 必须 | 在这张图上刷一下,哪些图跟着变、哪些没变,要能知道。 |
| VZ4-4 缩放、钻取与筛选语义分开 | 必须 | 视窗、粒度与计算数据范围的变化必须分别可辨。 |
| VZ4-5 比较基准是显式选择 | 必须 | 跟谁比、以哪一期为 100,是选出来的,不是天然的。 |
| VZ4-6 排序与截断说明其余部分 | 应当 | 只显示前十,剩下的去哪了要有交代。 |
| VZ4-7 查询状态与生效条件一致 | 必须 | 新筛选还没算完,旧结果不能冒充新结果。 |
VZ5 分析过程可回溯可携带
| 规则 | 强度 | 一句话 |
|---|---|---|
| VZ5-1 到达当前视图的路径可查 | 必须 | 怎么走到这一步的,要留得下记录。 |
| VZ5-2 可回到此前的分析状态 | 必须 | 退一步不该等于从头再来。 |
| VZ5-3 导出物携带其成立条件 | 必须 | 导出的图脱离了产品,条件要跟着走。 |
| VZ5-4 分享后的视图与条件一致 | 必须 | 对方打开看到的,要么是同一张图,要么被明确告知不是。 |
| VZ5-5 注记与结论绑定成立条件 | 应当 | "增长 30%"这句话要和它成立的那组条件绑在一起。 |
| VZ5-6 依据变化使既有产物失效时告知 | 必须 | 底层数据订正了,已经发出去的图不能装作没事。 |
VZ6 数据可被感知与到达
| 规则 | 强度 | 一句话 |
|---|---|---|
| VZ6-1 颜色不作为唯一编码通道 | 必须 | 区分两条线,不能只靠一红一绿。 |
| VZ6-2 图形有等价的数据访问路径 | 必须 | 看不了图的人,要有别的路拿到同一份数。 |
| VZ6-3 替代表述陈述数据而非外观 | 必须 | 别念"一张蓝色的折线图",要说这条线走到了哪。 |
| VZ6-4 值的读取与比较不依赖悬停与精细指点 | 必须 | 具体数值不能只藏在鼠标停住的那一瞬。 |
| VZ6-5 分析条件在等价路径上同样可见可操作 | 必须 | 筛选状态不能只画在那几个彩色胶囊上。 |
| VZ6-6 可读性与操作目标有可核验下限 | 必须 | 必要图形看得清,操作目标点得到,焦点可见。 |
| VZ6-7 分析动作具备键盘与非拖动路径 | 必须 | 能读到数,也要能选、筛、比较和退出。 |
2.5 从任务到验收
先确定读者要作出的判断,再选择编码和交互。下面是应用顺序,不新增强制条款。
| 交付 | 要回答的问题 | 最小证据 |
|---|---|---|
| 判读任务 | 谁用它判断什么,怎样算看对、操作成功? | 一句任务与有正确答案的样本;耗时和误差门槛由项目事先确定 |
| 数据与编码 | 字段、粒度、分母、时间、映射及简化方法是什么? | 图表规格、指标定义、已知异常样本 |
| 交互契约 | 条件怎样提交、生效、失败、解除和恢复? | 默认、加载、空结果、失败、部分成功、恢复的状态稿 |
| 参数预设 | 哪些决定可复用,谁可覆盖,何时生效? | 合法 Token 值、理由、继承来源与能力依赖 |
| 验收 | 文档、机制和人的理解是否分别成立? | 用户判读结果、故障注入结果、待测项与适用范围 |
每项记录“规则编号/适用场景/设计决定/运行事实来源/用户反馈/验证结果”。结果分为通过、不通过、不适用、未测试;不适用须有理由,未测试不得计入通过。必须级失败不能由其他项目的高分抵消;应当级偏离记录原因、替代措施与验证结果。
3. 规则详解
本章按六条原则展开全部 42 条规则。每条的结构与各部分的约束力见 2.1;其中的设计应用、验证示例与反例只是帮助落地的说明,不指定唯一图形形式,也不要求新增独立交付文档。
3.1 VZ1 编码可反推
数据可视化的全部说服力来自一个假设:图上的差别对应数据里的差别。这条原则管的是这个假设成立所需的条件——每条视觉通道对应什么、它在这张图里是否只对应这一件事、量到形状的换算有没有被放大或压缩、以及所选通道能否支撑读者被要求做的判读。它约束的是图形属性与数据量之间的映射本身,不约束这个量从哪来(那是 VZ2)、也不约束这个量准不准(那是 VZ3)。
VZ1-1编码映射可解析必须
一句话:每一条承载数据的视觉通道,都说得出它对应哪个字段、什么单位、什么范围。
适用任何用位置、长度、角度、面积、颜色、大小、形状或其他视觉属性表示数据的视图。
规则视图中每一条承载数据的视觉通道,其对应的数据字段、量纲与单位、取值范围与映射方式(线性、对数、分位、离散分箱等)必须可获得,且必须与实际渲染一致。"可获得"的判据是读者在看这张图时能够到达,不是它被写在某份文档里——坐标轴标签、图例、说明区或可展开的编码说明都可以承载它,但不得只存在于产品之外。承载装饰、品牌或分组结构而不编码数据的视觉属性,禁止被呈现为具有数据含义的形式;分箱、分位或人工分段的边界值必须可获得,不得只给出色块而不给出区间。
边界条件本条不要求每张图都常驻显示完整的编码说明,也不要求为不承载数据的纯装饰元素编写说明。轴标签已完整表达单位与范围时,不必再重复一份文字说明。
设计应用把编码说明当作视图的一部分数据而不是一段文案——它应当从同一份图表规格里生成,这样改了映射说明就跟着改。图例与坐标轴是承载编码说明的默认位置;离散分箱的产品尤其要给出边界值,因为"深色代表高"不能让人反推出 47 落在哪一档。
验证示例
- 用户侧:任取图中一处视觉差异,检查读者能否说出它代表哪个字段上多大的差。
- 实现侧:改变某条通道的映射(换比例尺、换分箱边界)后不改说明文案,检查是否被检出为不一致。
反例做不到——热力图只给一条从浅到深的色带,不给任何数值刻度;做过头——每张小型指标卡都强制附一段完整的编码规格说明,把仪表盘变成字段字典。
依据与参考视觉变量与其可承载的数据性质见 R03;通道与判读任务的对应见 R01。
VZ1-2同一通道在同一视图内含义唯一必须
一句话:一张图里的颜色不能一处表示品类、另一处表示是否达标。
适用单个视图内多次使用同一类视觉属性的情形。
规则同一个可辨识的编码域内,同一个比例尺或图例映射不得无提示地改变含义。多个映射在一张图中共存时,读者必须能判定每一类图元属于哪个映射(通过图例、序列标识、轴关联标注或图元形态),且不同映射不得争用同一通道的同一取值空间来表达不同的事。确需在一张图里表达两件事而读者无法判定归属时,必须使用彼此可分辨的不同通道,或拆分为多个视图。位置通道上的多个比例尺实例(双轴)是本条允许的多映射共存形式,另受 VZ1-5 约束。****这条约束按"读者是否需要在同一次判读中同时使用这两处编码"判定,不按图元是否属于同一图层判定:主数据用红绿表示涨跌、同时又用红色高亮当前选中项,即使技术上分属两层,读者仍会把两处红色当成同一件事,因而不符合本条。语义色不得与分类色共用同一通道而不加区分;选中、悬停、告警等状态表达若必须与数据编码共用通道,须以数据编码之外的属性(如描边、纹理、位置偏移)承载,不与数据值争用同一通道的取值空间。
边界条件本条不禁止一条通道同时承载数据含义与冗余增强——用颜色和形状共同区分同一组类别是 VZ6-1 鼓励的做法,不构成"两种含义"。在明确分隔的多个子图(分面)中,同一通道在各子图内保持同一含义,不视为违反本条。判据是"读者能否分辨",不是"是否属于同一图层",也不是"每类通道只能绑定一个字段":同一红色既表示华东又表示告警且两者不可分辨,违反本条;两条各有单位与序列标识的独立 Y 轴,不违反本条。
设计应用为每张图维护一份"通道—含义"的一一对应清单,把状态表达(选中、对比高亮、阈值告警)预留在独立的属性上。这条约束在仪表盘里最容易被破坏,因为组件是分别开发的,而读者是整屏一起看的。
验证示例
- 用户侧:指着图中两处使用同一通道的元素,请读者说明各自的映射归属;同一映射被误读为不同含义,或不同映射无法区分时为失效。
- 实现侧:清点视图中每一类视觉属性的赋值来源,检查同一映射是否被冲突含义驱动;多个映射共存时检查是否有可辨的图例、轴与图元归属。
反例做不到——折线图用颜色区分五个大区,同时把"低于目标"的点也染成红色,而红色本身已经是华东;做过头——因为怕冲突而禁止任何高亮,用户选中一条线之后完全看不出选中了哪条。
VZ1-3基线与刻度如实必须
一句话:长度与面积从零起;位置轴截断、非线性与反向须可识别。
适用使用位置轴或长度编码表示数量的视图。
规则坐标轴的起点、刻度间隔、比例尺类型与方向必须与实际渲染一致并可被读者识别。以"从基线到端点的长度或面积"直接表达量值大小的编码(普通柱图、条形图、从零起的面积图)禁止使用不从零起的基线,因为这类编码的判读依据是图元本身的大小,截断会直接改变量的比值;加断轴符号或截断标示不使这类编码合格,正确处置是恢复零基线或改用位置编码。以长度表达两端之差的编码(区间条、甘特条、上下界带)不属于本条所禁范围,但须声明两端的含义与该长度所表示的差值语义。以位置承载数量的编码(折线、散点)允许截断,但截断必须被明确标示,不得仅靠坐标轴数字暗示。非线性刻度(对数、幂、分位)与反向轴必须显式标注;禁止在同一坐标轴上混用不同的刻度密度而不作标示。刻度截断、非线性刻度与轴反向的选择须记录理由,不得以"这样更好看"或"这样趋势更明显"为理由作出。
边界条件本条不要求所有图都从零起——展示体温、股价、pH 值等零点不具业务含义的量时,强制从零起会掩盖真实变化;判据是编码方式(从基线起的长度/面积、两端之差的长度,还是位置),不是数据领域。本条也不禁止对数刻度,只要求它可被识别。
设计应用把"该不该从零起"的判断交给编码类型而不是交给审美:换成折线就可以截断,那说明这张图本来就不该用柱状。截断标示不能只靠轴上的数字,因为读者读的是图元长度而不是轴上的字;断轴符号、明确的"纵轴自 X 起"标注或改用点线形式都可以承载它。
验证示例
- 用户侧:给读者看同一份数据的截断版与完整版,请其估计"A 比 B 高多少倍",两版估计值出现数量级差异说明截断未被识别。
- 实现侧:检查图表规格里的轴起点是否由数据与编码类型共同决定,而不是由渲染库的自动缩放默认值静默给出。
反例做不到——柱状图纵轴从 90 起,3% 的差异看起来像翻了三倍;做过头——所有折线图一律从零起,把一条在 36.5 至 37.2 之间波动的体温曲线压成一条直线。
依据与参考截断轴对感知效应量的放大见 R06;截断轴与其他失真手法的实验对照见 R05;机构实践对何时可截断的公开判断见 R25。
VZ1-4面积与体积按量成比例必须
一句话:两倍的量画成两倍的面积,不是两倍的半径。
适用使用面积、半径、直径、边长或三维体积表示数量的视图。
规则以面积表示数量时,图元的面积必须与数值成比例;禁止将数值直接映射到半径、直径或边长,因为那会使视觉量按平方放大。以三维体积或带透视的立体图元表示数量时,同样禁止将数值映射到线性尺寸。用面积编码需要精确比较的量是不合适的选择(见 VZ1-7);确需使用时,必须提供数值标注或可到达的数值读取路径,不得要求读者仅凭面积作定量判断。装饰性插图与信息图中按数值缩放的图形同样适用本条,不因其为"图示"而豁免。
边界条件本条约束数值到面积的换算,不规定图元形状、不禁止气泡图或树图这类以面积为主要编码的形式。地图上的符号缩放若采用已公开的心理物理修正方案(如按感知面积而非几何面积缩放),须声明所用方案及其来源,不得以"经验调整"代替说明;此时的验收依据是所声明的函数,而不是"几何面积比等于数值比"。
设计应用面积编码的实现错误多来自"把数值当作 r 传进去"这一步,因此这是少数值得写进图表组件默认行为的约束:组件应当默认按面积缩放,禁止用数值直接驱动半径或边长;感知修正只按已声明函数实现。
验证示例
- 实现侧:取任意两个图元,核对其渲染面积之比是否等于数值之比;采用已声明的感知修正方案时,核对其是否与所声明的函数一致。
- 用户侧:给出数值为 1 与 4 的两个图元,请读者估计倍数。读者系统性答成 16 倍,说明这张图的表达需要改进(标注、参考图元或改用位置编码),不单独证明映射算法错误——映射是否正确由上一项的实现侧核对判定,两者分别记录。
反例做不到——气泡图把销售额直接赋给半径,2 倍的销售额画成 4 倍大的圆;做过头——为避免面积编码而把一张世界地图的所有量都改成柱状图叠在国家上,遮挡地理信息本身。
依据与参考面积与体积在判读精度上低于位置与长度见 R01、R02;面积放大作为一种失真手法的实验证据见 R05。
VZ1-5双轴与多量纲不制造相关必须
一句话:两条线贴在一起,是因为数据,不是因为你调了刻度。
适用在同一坐标系内呈现两个及以上不同量纲或不同数量级序列的视图。
规则双轴或多量纲共图时,各轴的范围与对齐方式是设计者的选择而非数据的性质,禁止通过选择轴范围或起点使两条序列呈现出数据不支持的同步或交叉。采用双轴必须满足:两条轴的量纲、单位与范围均明确标注;每条序列与哪条轴对应可辨;轴范围的选择依据可记录。禁止在双轴图上作出"两者高度相关""此处出现拐点一致"这类依赖轴对齐的结论表述——需要表达相关性时,须改用分面、标准化到同一量纲、或直接呈现相关关系本身。任何一条轴使用了截断或非线性刻度时,须同时满足 VZ1-3。
边界条件本条不禁止双轴。同一量纲不同单位(摄氏与华氏、元与万元)的双轴属于刻度换算而非双量纲,不受本条对相关性表述的限制。
设计应用把"能不能加第二根轴"变成"这两个序列要支持什么判读":读者要比较趋势方向就分面,要比较相对变化就统一归一化到指数并按 VZ4-5 声明基期,要看真实的共变关系就画散点。第二根轴真正合适的场合,是两个序列各自被独立阅读、而不是被互相对照。
验证示例
- 用户侧:改变副轴范围后请读者重新描述两条线的关系,描述随之改变说明结论建立在轴对齐上。
- 实现侧:检查副轴范围是否遵循已声明的固定值或自动范围策略;改变范围不得生成依赖轴对齐的相关性结论。
反例做不到——把广告投放与营收放在双轴上,调整副轴让两条线严丝合缝,配文"投放带动营收";做过头——一律禁止双轴,把温度与降水拆成上下两张图后横轴不对齐,读者反而无法按时间对照。
依据与参考轴范围选择对读者结论的影响见 R05、R06;双尺度图表在准确率与主观负担上的对照实验见 R27(其对象为双尺度而非双量纲,适用范围有限);对双轴图任意性的公开批评见 R26(机构实践与从业者论述,非受控实验)。
VZ1-6连续量的颜色映射有序应当
一句话:色标要能排出高低,且不制造数据里没有的分界。
适用使用颜色表示连续量的视图(热力图、等值区域图、密度图、连续色标散点等)。
规则表示连续量的色标应当在感知上有序,使读者能仅凭颜色判断大小方向。有序性按色标类型分别判定:顺序型按单向量值检查感知次序;发散型以中点为界,分别检查两支离开中点时的次序是否单调,并检查正负两个方向是否可辨——发散型色标通常中点浅、两端深,全域明度必然先增后减,不得据此判为不合格。禁止使用在感知上非单调的色标(如完整光谱型彩虹色标)表示需要判断大小顺序的连续量,这类色标会在数值均匀变化处制造视觉上的分界,也会在真实分界处削弱差异。发散型色标应当仅用于存在有意义中点(零、目标值、基准期)的数据,且中点必须被声明;顺序型、发散型与分类型色标的选择依据应当可记录。色标的取值范围应当覆盖待表达的数据,或明确标出超界值与裁剪方式;跨图比较可使用共同固定范围,范围随数据自动伸缩时须使范围值可见(见 VZ1-1)。
边界条件本条约束以颜色承载大小判断的场合,不约束仅用于分类区分的颜色,也不规定具体色板。已有领域惯例强制使用特定色标的场合(部分医学影像、气象产品),须声明该惯例、说明其判读约定,并逐项写明它豁免的是本条哪一项应当级要求;惯例不豁免本条中"禁止用感知非单调色标承载大小判断"这一硬子句。
设计应用优先采用已公开验证的顺序型与发散型色板,并记录来源;自制色板须至少检查在灰度下是否仍然单调。色标是否有序与色板是否色觉友好是两件事,后者见 VZ6-1。
验证示例
- 用户侧:给出色标上三处均匀间隔的颜色,请读者排序并估计间隔是否相等。
- 实现侧:把色标转为灰度:顺序型检查明度单调;发散型按两支分别检查离开中点的次序,并另行检查正负方向在无颜色路径上是否仍可读取。灰度检查是诊断手段,不单独构成色觉可达性的证明(后者见 VZ6-1)。
反例做不到——用彩虹色标画温度分布图,在黄绿交界处出现一条数据中并不存在的"边界";做过头——所有图一律只用单色深浅,导致本应突出正负两侧的盈亏图失去中点信息。
依据与参考彩虹色标的非单调性及其造成的虚假边界见 R04;顺序型/发散型/分类型色板的区分与选择工具见 R21。
VZ1-7通道精度与判读任务相称应当
一句话:要人精确比较的量,别放在最难判读的通道上。
适用需要读者作出定量比较、排序或估计比值的视图。
规则视觉通道的选择应当与该图要求读者完成的判读任务相称:需要精确比较数值的量,应当采用判读精度较高的通道(共同基线上的位置、长度);判读精度较低的通道(角度、面积、体积、颜色明度)不应当被用作精确比较的唯一依据。采用低精度通道承载需要定量判读的量时,必须提供可到达的数值读取路径(见 VZ6-4)。图要求读者完成什么判读任务,应当被显式确定,而不是由图表类型的默认选择反推。
边界条件本条不禁止任何图形形式,也不建立"某种图永远优于某种图"的排序。通道精度的已知次序来自特定任务下的对照实验,其适用范围有限:它不覆盖全部判读任务、全部数据规模与全部读者群体,因此本条给出的是选择依据而非替换清单。展示总体形态、空间分布或类别构成的图,不因其通道精度低而不合规。
设计应用先写下"这张图要让人回答什么问题",再选通道。同一份数据要回答"哪个大"就用共同基线的条形,要回答"占多少比例"可以用饼形但须给出数值,要回答"分布长什么样"就不必追求逐点精确。
验证示例
- 用户侧:让目标读者用图完成该图声称支持的判读任务,记录误差与耗时。
- 实现侧:核对每张图的声明判读任务与所用主编码通道是否被一并记录。
反例做不到——用一组三维饼图让人比较十七个品类的份额差异,且不给数值;做过头——因为位置编码精度最高,把所有分布与地理数据都强行改成条形图,丢掉空间与形态信息。
依据与参考基本感知任务的精度次序见 R01,众包环境下的重复验证与扩展见 R02;数据、任务与图形形式三者关系的框架见 R18。
VZ1-8比较视图保持编码可比必须
一句话:并排的小图,不能因为各自缩放而看起来一样大。
适用分面、小多图、跨期并排及可切换比较视图。
规则承担量值比较的子图必须采用共同单位与可比比例尺;使用独立范围时必须明确标示,并提供共同尺度或数值比较入口。相同类别在筛选、排序、分页后必须保持稳定编码,不能按当前出现次序重新分色。动态自动缩放须使范围变化可辨;不得通过切换视图悄悄改变颜色阈值。
边界条件比较形态可采用独立尺度,但须声明其用途;不要求与当前任务无关的图使用同一范围。
设计应用比较组共享一份尺度策略与类别映射。独立尺度在子图标题旁标示;筛选后保留类别标识,不按数组位置重分色。
验证示例
- 用户侧:比较两个范围分别为 0–10 和 0–100 的小图,要求读者判断总量差异;不能仅凭柱顶高度得出相等。
- 实现侧:筛掉第一个类别后检查其余类别颜色标识是否保持;切换时间范围后检查轴与图例是否同步。
反例做不到——小图各自填满容器,十倍差距看起来一样。做过头——为比较形态的所有微型趋势图强制从零起,真实变化消失。
依据与参考R29;稳定编码的要求由连续判读承诺推导。
3.2 VZ2 口径可核对
图上的每一个数都是某种加工的结果:它取自某个时点、覆盖某个范围、按某个定义计算、聚合到某个粒度、并对缺失作了某种处置。这条原则管的是这些加工能否被读者核对。它不判定加工得对不对——指标该怎么定义、缺失该不该插补,是业务与统计的决定;本原则要求这些决定被声明、被标注、并且在变化时不静默生效。
VZ2-1数据时点与刷新状态随图呈现必须
一句话:这张图上的数是什么时候的,看图的人要能当场知道。
适用呈现随时间变化的数据、或数据由后台异步更新的视图。
规则视图必须使读者能够确定其数据对应的时点或时间范围,以及该数据当前的刷新状态。数据覆盖的时间范围与数据的生成时间是两件事,必须分别可得:"截至 3 月 31 日的销售额"与"这份统计是 4 月 2 日跑出来的"不得互相替代。同一视图内不同部分的数据时点不一致时,必须按部分分别标示,禁止以其中最新的一个时点代表整体。数据未能按预期更新、部分来源失败或结果为陈旧缓存时,必须如实呈现该状态,禁止以静默沿用上一次结果的方式使视图看起来正常。
边界条件本条不要求在每个图元上标注时间戳,也不要求实时刷新。数据本身即为静态历史归档且已在视图层级声明时,不必逐图重复。
设计应用把"时点"当作数据的一部分随查询结果一起返回,而不是由前端按当前时间推算——后者会在缓存、时区与失败重试时给出错误的时间。多来源拼装的看板尤其要按来源标示,因为整屏一个"实时"标签是这类产品最常见的失真处。
验证示例
- 用户侧:在一屏多来源看板上,请读者说出每块数据分别是什么时候的。
- 实现侧:注入某一来源的更新失败,检查视图是显示失败状态还是静默显示上一次的数据。
反例做不到——看板右上角写着"实时",其中三个模块的数据来自昨夜的批处理;做过头——每个数字后面都跟一串完整时间戳,图上全是括号。
VZ2-2指标口径可获得必须
一句话:"活跃用户"到底怎么算,要在图旁边够得着。
适用呈现业务指标、统计指标或任何经过定义才成立的量的视图。
规则视图中每个指标的定义必须可从视图到达,内容至少包括:计算方式、统计范围(人群、地域、渠道、时段边界)、单位与币种、以及已知的排除项。同名指标在产品内不同位置采用不同定义时,必须在各处分别标示其定义,禁止仅以名称相同暗示口径相同。指标定义必须与实际计算逻辑同源,禁止由文案单独维护一份与实现无关的说明。定义不可得的量禁止以确定的业务名称呈现——可以呈现原始字段,但不得命名为一个读者会按通行含义理解的指标。
边界条件本条不要求把完整的口径文档嵌进图里,可达即可(悬停、点击、侧栏、链接均可,但须满足 VZ6-4 对非悬停路径的要求)。也不要求为通用数学量(计数、求和本身)编写定义。
设计应用把口径注册表做成图表规格的一个引用字段,而不是一段说明文本,这样"改了算法忘了改说明"这一类失效会被结构性地挡住。跨团队看板要特别处理同名不同义:与其统一名称,不如让每处都能展开自己的定义。
验证示例
- 用户侧:任取一个指标,请读者说出它把哪些人算进去、哪些排除。
- 实现侧:修改指标的计算逻辑而不改说明,检查是否被检出为不一致。
反例做不到——两个部门的看板都写"活跃用户",一个按登录算、一个按有效操作算,数字差三成而无处可查;做过头——每张图下方铺满整页口径说明,关键结论被淹没。
VZ2-3口径变更须标注必须
一句话:定义改了,那道台阶不是业务波动,要说明。
适用指标定义、统计范围、数据来源或计算方式发生过变更,且视图跨越变更时点的情形。
规则未加说明的口径变化是本领域最严重的失真之一:跨越变更时点的序列必须标示变更的发生时点与变更内容,禁止呈现为连续可比的同一条序列。变更后对历史数据的处理方式必须声明并可辨,至少区分三种:历史数据按新口径重算、历史数据保持原口径、两者并存。重算历史数据时禁止静默改写读者此前看到过的数值——重算必须可被识别为一次修订,并触发 VZ5-6 的告知义务。数据源本身发布修订(订正、重述、季节调整因子更新)时,同样适用本条。
边界条件本条不禁止改口径,也不要求永久保留历史口径的并行计算。变更发生在视图所覆盖时间范围之外时,不必在该视图内标示。历史已按同一口径重算且可核对时,可作为可比序列展示,但须保留重算事实;禁止的是混合口径冒充连续可比。
设计应用把口径标识作为时间序列的一个维度存下来,图上的断点标示由它生成。凡是"某月起数据不可比"的说明只写在发布邮件里的,三个月后没有人会知道。
验证示例
- 用户侧:给读者一段跨越口径变更的序列,请其解释台阶出现的原因。
- 实现侧:检查是否存在口径标识字段,以及跨口径查询是否会被标示。
反例做不到——统计范围从"全部渠道"改成"自有渠道",曲线掉了 40%,图上什么也没写,团队开了三天会查原因;做过头——每次微小的枚举值调整都在图上打一个断点标记,一年下来图上全是竖线。
VZ2-4聚合粒度与聚合方式可见必须
一句话:这个点是求和、求均值还是取最新,钻取前后是不是同一种。
适用呈现经过聚合的数据的视图,以及提供钻取、上卷或改变时间粒度能力的产品。
规则视图中每个聚合量的聚合粒度(按什么维度、按什么时间单位归并)与聚合方式(求和、均值、中位数、去重计数、取最新、加权平均及其权重)必须可获得。改变粒度的操作(钻取、上卷、切换时间单位)必须保持聚合方式不变,或在改变时明确告知;禁止在下钻后静默切换聚合方式使上下层数值失去可加性。上层聚合值与下层明细之和不相等时(因去重、加权、四舍五入或过滤),必须说明差异来源,禁止让读者自行推测。聚合可能反转分组内的关系(同一趋势在各分组内与合并后方向相反),产品在提供聚合视图时应当使分组视图可到达。
规则比率聚合必须按已声明的分子、分母或权重重算,不得把各组百分比直接平均后冒充总体比率。连接数据造成重复行时,去重键与连接关系必须可核对;总体与明细不可加的说明须同步到导出与等价路径。
边界条件本条不规定应当采用哪种聚合方式,也不要求每张图都同时展示明细。不可加的指标(比率、去重计数、留存率)不因不可加而违反本条,但其不可加性必须可知。
设计应用把聚合方式与粒度做成图表规格里的显式字段并呈现在编码说明中(见 VZ1-1)。钻取路径上尤其要固定聚合方式:读者对"点进去看细节"的心智是同一个量的分解,不是换了一个量。
验证示例
- 用户侧:请读者把下钻后的各项相加,与上层数值对照;不相等时检查图上有无说明。
- 实现侧:遍历钻取路径,比对每一层的聚合方式定义是否一致。
反例做不到——月度视图取当月最后一天的库存值,切到周视图变成周内均值,两条曲线对不上且无任何提示;做过头——每次切换粒度都弹出一个必须确认的说明框,打断连续探索。
依据与参考聚合导致分组内关系被掩盖或反转的现象与其可视化处理见 R07。
VZ2-5缺失、零与不适用分别表达必须
一句话:没数据、是 0、不适用,是三件事,不能画成同一条线。
适用数据中存在缺失值、空值、零值或结构性不适用值的视图。
规则数据缺失、数值为零、以及该项在结构上不适用,必须在视觉上可区分,禁止统一呈现为零、空白或断点而不加说明。对缺失值所作的处置(剔除、置零、前值填充、插值、模型插补)必须被声明;采用插补时,插补值必须与实测值可辨,且不得进入依赖实测的结论表述。序列中的缺失段落必须可识别,禁止用直接连线的方式跨越缺失区间而不作标示。缺失比例达到影响判读的程度时,必须使该比例可获得。
规则因保密或权限抑制的值必须与缺失值区分;只呈现获准披露的状态,不通过提示、下载或总计差分暴露被抑制数值。分母为零、非法运算与查询失败不得渲染为 0%。数值舍入只影响显示,比较与汇总须使用声明的计算精度;显示为零但实际非零时,应按任务提供更高精度或阈值表达。
边界条件本条不规定应当采用哪种缺失处置方式,也不禁止插补。数据完整且不存在缺失的视图记录"不适用"即可。
设计应用折线跨越缺失区间的默认连线是渲染库最常见的默认失真,值得在图表组件层面改掉默认值。区分三种状态不必依赖颜色——断线、留空、专用标记与网格底纹都可以承载,且更符合 VZ6-1。
验证示例
- 用户侧:构造含缺失、零与不适用三种情形的数据,请读者分别指出它们在图上的位置。
- 实现侧:注入整段缺失,检查折线是否被直接连过去、汇总值是否把缺失当作零计入分母。
反例做不到——某地区当月未上报,图上画成零,看起来像业务归零;做过头——每个缺失点都弹出说明气泡,一张有 15% 缺失率的图上布满提示标记。
依据与参考不同缺失处置方式对读者判读与信心的影响见 R08。
VZ2-6派生量说明其算法应当
一句话:同比、平滑、季调、归一化,算法与基期要说得出。
适用呈现由原始数据计算得到的派生量的视图:同比、环比、移动平均、指数化、季节调整、累计值、增长率、占比、标准化分数等。
规则派生量应当使其计算方式可获得,内容包括算法、窗口长度、基期或基准、以及边界处理方式(序列头尾不足窗口时如何计算)。禁止把处理后的幅度表述为未经处理的波动幅度——平滑本来就会改变所见的波动,本条要求的是处理被披露,而不是要求处理对读者的判断毫无影响。采用移动平均、季节调整或其他平滑处理时,应当使原始序列可到达(偏离该项时按【应当】的偏离纪律记录理由与替代做法);禁止仅呈现平滑结果并将其表述为实测值。指数化序列必须声明基期与基期值(另见 VZ4-5)。同一图中并列的派生量若采用不同窗口或不同基期,须分别标示。
边界条件本条不规定应当采用哪种派生算法,也不要求默认同时显示原始与平滑序列,可到达即可。行业或监管已规定算法的派生量(如特定金融业绩计算口径),按其规定执行并声明所依据的规则来源。
设计应用把窗口长度与基期做成图上可见的标注而不是隐含默认值——"7 日移动平均"这五个字能消除大量误读。边界处理最容易被忽略:序列最右端不足一个窗口时,若仍按已有天数取均值,最新几个点会与前面的点不可比。
验证示例
- 用户侧:请读者说出这条平滑曲线用的是多长的窗口、最新一点是否已完整。
- 实现侧:核对序列端点的计算是否与中间点采用同一窗口;不一致时检查是否被标示。比例的分母、权重、聚合层级与基期变化随图表条件一起验证;视觉回归与指标计算回归分别运行——图表库渲染成功不构成分析结论正确的证据。
反例做不到——图上一条平滑得几乎没有波动的曲线,标题写"实际用量",未说明它是 30 日移动平均;做过头——把原始、平滑、季调、同比四条线全部叠在一张图上并各配一根轴,读者无法分辨主线是哪条(且违反 VZ1-5)。
VZ2-7分箱与数据简化保留判读依据必须
一句话:图上只画了一部分,不能让人以为看到了全部。
适用直方图、密度图、聚类图、地图分级及采用抽样、降采样或近似计算的视图。
规则分箱必须使边界、端点包含规则、计数或密度含义可获得;不等宽直方图表达频率时,面积须对应频率,不能以原始计数作柱高误导。抽样、降采样、聚类和近似聚合必须分别标示其方法及覆盖范围,不能笼统标成“优化显示”。渲染简化不得静默改变指标、占比、排名或告警的计算数据;依赖简化结果的计算必须标为近似并说明限制。缩放引起分箱或粒度改变时必须更新说明。
边界条件不要求全量渲染;完整数据的查询或等价摘要可以按需提供。禁止承诺采样保留全部异常,除非已有覆盖机制与验证。地图使用原始总量或归一化比率须声明分母,不能互称。
设计应用图级摘要标明“抽样显示”或“按区间聚合”,详情提供方法与覆盖范围;放大到更细粒度后同步更新说明,原始指标继续由完整查询计算。
验证示例
- 用户侧:查看相同数据在不同箱宽、采样率下的结果,并找到原始或更细的获准数据;能区分没显示与不存在。
- 实现侧:注入单点尖峰、不等宽箱和长尾类别;核对汇总与告警的数据来源、分箱边界及导出说明。
反例做不到——降采样漏掉尖峰却给出“无异常”。做过头——为完整性一次画出千万个点,既看不清也无法操作。
依据与参考R30;性能简化的限制由指标与呈现一致性推导。
VZ2-8时间与比较周期定义明确必须
一句话:同一天、同一周和同比,必须使用说得清的时间边界。
适用跨时区、周月聚合、滚动窗口、同比环比及当期比较。
规则时间口径必须包含时区、日历或财务周期、起止边界及区间端点规则。周起始日、滚动时长与自然周期不得混同;夏令时和闰日按已声明规则处理。不同完整度的周期比较必须标示覆盖进度,提供同期已完成部分或可比完整周期的入口;禁止把部分期直接解释为完整期下降。改变时区若改变分桶,必须重算并告知,而非只改标签。
边界条件不必在每个点显示时区;可在图级摘要与详情分层呈现。仅改变语言或日期格式不应改变统计范围。
设计应用把时区、周期与完整性摘要放在时间选择器旁;分享与导出复用同一时间定义。财务周不要仅标作“周”。
验证示例
- 用户侧:让分处不同时区的读者解释同一分享视图的日期边界与比较周期。
- 实现侧:使用跨午夜、夏令时切换与闰日数据核对桶归属、分母及导出条件一致性。
反例做不到——切换到本地时区后只改轴标签,日总量仍按另一时区计算。做过头——每个点附一整套日历定义,遮住趋势。
依据与参考R31;周期可比性的要求由口径和完整性承诺推导。
3.3 VZ3 不确定性不省略
图上的一个点可能是一次全量统计的结果,也可能是 40 份问卷的推算、一个模型的输出、或一段尚未发生的预测。这条原则管的是这三者在图上是否还分得开。不确定性不是图画完之后再考虑加不加的装饰,它是这个数的一部分:省略它并不会让结论更清楚,只会把"这大概是多少"变成"这就是多少"。本原则不判定统计方法本身是否恰当——用哪种区间、模型是否适用,是统计与领域专业的决定;本原则要求这些性质被如实呈现,且呈现方式能被读者用上。
VZ3-1估计值不呈现为确定值必须
一句话:抽样和模型算出的量必须可辨为估计,误差信息随图可得。
适用呈现抽样统计量、模型输出、插补值、预测值或任何带有已知误差的估计量的视图。
规则估计值禁止以与实测值相同的视觉形式呈现而不加区分。产品已经掌握该量的不确定性信息(置信区间、预测区间、标准误、后验分布、模型残差、抽样误差)时,必须使该信息随图可得;不得只呈现点估计而把区间留在导出文件或后台。产品未掌握不确定性信息时,必须使这一事实可知,禁止以"没有区间数据"为由把估计值默认呈现为确定值。"可得"不等于"必须画在图上"——区间带、须线、分位阴影、数值旁标注、可展开的详情都可以承载,但不得只存在于产品之外。用于影响决策的关键结论所依据的估计量,其不确定性必须在得出该结论的同一视图内可获得,不得要求读者切换到另一处查询。
边界条件本条不要求为全量普查、账务记录、系统计数这类不存在抽样误差的量编造区间。"不适用"按所声明的量与判读任务逐项判定并说明理由,不按数据来源的类别整体豁免:同一份全量计数,用于描述"本月已记账 50 笔"可记不适用;用它推断未来发生率或作跨期比较时,该不适用不自动继承——过程随机性、已知的覆盖与测量误差、以及后续订正的可能(见 VZ5-6)仍须按本条评估。没有抽样误差不等于没有不确定性;情况未知时记"未知",不记"不适用"。本条也不规定采用哪一种不确定性度量,那是统计判断。
设计应用把"这个量有没有不确定性信息"做成数据契约里的一个字段而不是一次设计讨论——缺这个字段时图表组件就无法判断该不该画区间,于是默认画成实线,这是本条最常见的失效方式。密集图表中可先呈现点估计而把区间放在可展开处,前提是"存在区间"这件事本身在图上可见。
验证示例
- 用户侧:请读者指出图上哪些量是实测、哪些是估计;答不出即为本条失效。
- 实现侧:注入一份不含不确定性字段的数据,检查系统是显式声明"无不确定性信息"还是静默按确定值渲染。
反例做不到——满意度调查按城市画成一张色阶地图,其中三个城市各只有几十份样本,色深与全量城市完全同一种画法;做过头——给每个柱子都加上须线,包括那些来自完整账务记录、区间为零的量,读者反而学会了忽略所有须线。
依据与参考不确定性在实践中被系统性省略的原因与后果见 R10;不确定性表达形式的综述见 R11。
VZ3-2不确定性的含义可解析必须
一句话:这条须线是标准差、标准误还是 95% 区间,要说清楚。
适用以任何图形形式呈现不确定性、误差或区间的视图。
规则图上表示不确定性的每一种图形元素,其统计含义(标准差、标准误、置信区间及其水平、预测区间、分位数范围、四分位距、后验可信区间、最小最大值)必须可获得。"误差棒"不是一种含义,是一种形状:同一形状可承载至少五种互不等价的量,未声明含义的误差棒不满足本条。区间的计算方式(正态近似、自助法、精确法)在结果差异可能影响判读时应当一并可获得。同一视图内并列的多组不确定性表达必须采用同一种含义,或分别标示;禁止在一张图上混用标准误须线与置信区间带而不加区分。
边界条件本条不要求在图元旁常驻显示统计定义,可达即可(图例、说明区、可展开详情均可,但须满足 VZ6-4)。本条不规定应当采用哪种度量。
设计应用把不确定性的类型与参数(如"95% 置信区间,自助法 2000 次重抽")作为数据的一个属性随值一起流转,由图例自动生成描述。凡是靠图表标题人工写一句"含误差棒"的产品,改一次统计方法就会留下一句过期的说明。
验证示例
- 用户侧:请读者说出须线两端各代表什么;出现"大概是波动范围"这类回答即说明含义未被传达。
- 实现侧:改变区间计算方式后检查图例描述是否随之改变。
反例做不到——论文式图表上一排须线,图注只写"误差棒表示不确定性";做过头——每张图配一段完整的统计方法学说明,占据的篇幅超过图本身,读者跳过全部说明。
依据与参考不同区间类型被读者混淆的情形与不确定性表达研究综述见 R11。
VZ3-3小样本与不稳定值有处置必须
一句话:分母只有 7 的那一格,要么标出来,要么不出数。
适用呈现按维度切分后的比率、比例、均值、排名或色阶的视图,尤其是允许用户自由下钻与交叉筛选的产品。
规则产品必须对样本量过小或统计上不稳定的取值定义处置方式,并使该处置在视图上可辨。可选的处置包括:标示为不稳定、隐去数值、合并到更粗的粒度、或呈现更宽的区间;禁止把小样本单元格与大样本单元格以完全相同的方式呈现而不加任何标示。判定不稳定的阈值与判据(最小分母、相对标准误上限、单元格最小计数)由产品按其数据与用途确定并记录依据,本规范不给出通用数值。下钻与交叉筛选会使分母迅速变小,提供自由切分能力的产品必须使该处置在切分后的结果上同样生效,不得只在预置视图上生效。涉及个体可识别性的小单元格,其抑制规则另按适用的隐私与统计披露要求执行,本规范不替代该判定。
规则区间宽度必须来自声明的统计方法;不得为达到视觉上的谨慎而人工拉宽区间。统计不稳定标示与隐私抑制分别判定,前者的放行不得取消后者。
边界条件本条不要求隐藏所有小样本数据——隐去与标示是两种合法处置,选哪种取决于用途。本条不给出阈值数值,也不判定所采用的稳定性判据在统计上是否恰当。
设计应用把阈值判定放在数据层而不是渲染层,这样任意一条下钻路径上的结果都带着"是否稳定"这个标记。排行榜与"最高/最低"标注是小样本失效最集中的地方:分母最小的那一组最容易占据榜首。
验证示例
- 用户侧:沿最细的下钻路径走到一个分母极小的单元格,检查读者能否看出这个数不可靠。
- 实现侧:构造一个分母为个位数的分组,检查其在色阶图、排行榜与导出文件中是否都带有标示。
反例做不到——按"城市 × 渠道 × 人群"三层下钻后,某格转化率显示 100%,因为分母是 1;做过头——把所有低于阈值的单元格一律隐去且不说明存在,读者以为这些分组没有业务。
依据与参考公共统计中对小分母比例的呈现门槛与抑制实践见 R12(机构标准,其数值门槛针对特定数据体系,不作通用移植)。
VZ3-4预测与实测分别可辨必须
一句话:历史与预测可以共图,但性质和分界必须可辨。
适用在同一视图内同时呈现历史实测数据与预测、目标、外推或情景模拟结果的视图。
规则已发生的观测值与尚未发生的预测值必须在视觉上可区分,且两者的分界时点必须可识别。预测部分必须使其性质可获得:是模型外推、人工设定的目标、还是情景假设;模型预测应当同时呈现其预测区间(见 VZ3-1)。禁止把目标值、预算值或计划值呈现为与实测值同一序列的延伸而不加标示——目标不是对未来的估计,是一项决定。当期数据尚未完整(本月只过了 9 天)时,禁止把不完整期与已完整期并列呈现而不标示其不完整性,也禁止以按比例外推的方式补齐当期而不声明。
边界条件本条不禁止在同一张图上画预测,也不要求预测必须与历史分列两图。数据完整期的定义(按自然日、按结算日、按数据到达)由产品声明,本条只要求它被声明并被一致使用。
设计应用不完整的当期是仪表盘里最稳定的一处误读来源:月度柱状图上最后一根总是矮的,于是每个月月初都有人以为业务在下滑。虚线、留白、底纹与"当前进度 9/30"的标注都可以承载它,虚线一种形式不必然足够——线型在缩略图与打印件里常常失效。
验证示例
- 用户侧:在月初打开月度对比图,请读者说出最后一根柱子是否可与前几根比较。
- 实现侧:把系统时间调至周期开始的第二天,检查当期是否被标示为不完整。
反例做不到——年度趋势图的最后三个点是模型预测,与前面十二个点同一根实线同一种颜色;做过头——把预测部分做成需要额外点击才能显示的独立图层,读者看到的默认视图里没有任何未来展望,而这张图的用途正是看未来。
VZ3-5未达可区分程度的差异不表述为差异应当
一句话:排名、色阶与"最高"标注,不要建立在噪声上。
适用对若干量作排序、比较、高低标注或差异性表述的视图,以及自动生成结论文案的产品。
规则禁止仅凭点估计的大小关系,或仅凭两个单项估计的区间是否重叠,生成确定性的比较表述(如"A 优于 B""C 显著领先")。单项区间重叠不是差值检验的替代——两个估计各自的 95% 区间可以重叠而其差值的区间并不含零;标准差、四分位距、预测区间与均值置信区间也不共用同一判据。可区分性由统计负责人声明的判定规则给出(差值或比值及其区间、相关结构、检验方法,或已声明的业务门槛)。
比较结果必须区分三种:支持存在差异/未获得足够证据/未评估;后两者都不等于"两者相等",禁止表述为相等或并列事实。自动生成的结论文案、告警与洞察摘要同样适用本条。确需呈现排名时,应当使已判定为不可区分的关系可见(以连线、区间或分档提示未能区分,不把分档表述为数值相等);"区间重叠标示"只作为不确定性的呈现,不作为可区分性的判据。"显著"一词在本规范范围内应当仅用于已作出相应统计判断的场合,不作为强调用语。
规则描述确定账务记录的大小次序不强制执行显著性检验;向总体或未来推断、宣称统计差异时才采用适用的统计判据。批量搜索分组并自动挑选异常时,必须声明搜索范围及多重比较处理,或将结果限定为待核查线索;相关性不得表述为因果。业务门槛与统计证据须分别表达。
边界条件本条不要求产品对每一组比较都执行统计检验,也不判定所采用检验方法是否恰当;判据是产品是否已经掌握足以判断可区分性的信息而未使用它。按原始值大小提供浏览次序是允许的,前提是标明它是浏览次序、并保留各量的估计性质,不表述为结论。用于运营监控的粗略排序,若已声明其不作为结论依据,不受本条对表述形式的全部限制。
设计应用这条约束的真正落点是自动洞察功能。按数值差生成"本周华东增长最快"这类句子的系统,会稳定地把噪声报成新闻,且因为语气确定而比图本身更容易被引用。给洞察生成器加一道可区分性判据,比在图上加须线更能改变读者拿到的结论。
验证示例
- 用户侧:给读者一组区间高度重叠的数值排名,请其判断第一名是否确实高于第三名。
- 实现侧:按预先声明的数据生成假设注入扰动,检查结论是否遵循差异判据;真实差异改变或跨越门槛时允许结论改变。
反例做不到——每周自动推送"本周表现最佳门店",实际上前十名的差异全在日常波动范围内;做过头——因为差异不显著就完全不呈现任何排序,运营人员失去了按大小浏览的基本能力。
依据与参考不确定性未被表达时读者倾向于把点估计当作确定值,见 R10、R11。
VZ3-6不确定性表达形式与判读任务匹配应当
一句话:加了误差棒不等于读者读懂了不确定性。
适用需要读者依据不确定性作出判断的视图(比较是否有差别、估计超过阈值的可能性、判断趋势是否成立)。
规则不确定性的表达形式应当与该图要求读者完成的判读任务相称,呈现了不确定性不等于该不确定性已被读者用于判断。要求读者估计"超过某个值的可能性"时,仅给出区间上下限的形式不应当作为唯一表达;要求读者比较两组是否有差别时,应当使可比较的形式可得(差值或比值及其区间)而非要求读者目测两条须线的重叠。产品对不确定性表达形式的选择应当有可记录的理由,并在目标读者身上验证其可用性;禁止以"已经画了误差棒"作为满足 VZ3-1 的充分证明。采用分位点图、密度带、假设结果动画等形式时,须使其读法可获得。
边界条件本条不规定应当采用哪种形式,也不认定某种形式普遍优于另一种。现有研究对各形式的效果比较依赖特定任务与人群,其结论不能直接移植为通用排序,因此本条给出的是选择依据与验证要求,不是形式清单。
设计应用先写下"读者要用这个不确定性回答什么问题"。要回答"会不会超过预算",直接给出超过阈值的概率比给出区间更接近任务;要回答"这两组一样吗",画差值分布比画两根须线更接近任务。面向非专业读者的产品尤其要验证读法是否被理解,而不是照搬学术图表惯例。
验证示例
- 用户侧:让目标读者用图回答该图声称支持的不确定性判断,记录判断分布与系统性偏差。
- 实现侧:核对每张含不确定性的图是否记录了其声明支持的判读任务。
反例做不到——面向业务人员的看板照搬论文里的标准误须线,实际使用中所有人都只看柱顶;做过头——为一个只需知道"大致在这个范围"的指标配上一段动画抽样演示,读者花更多时间理解演示本身。
依据与参考以抽样动画呈现不确定性的方案与其适用任务见 R09;不确定性表达形式与任务匹配的综述见 R11。
3.4 VZ4 分析条件可见可解除
分析动作会不断改变"这张图里现在是哪一部分数据"。筛掉三个地区、框选一个时间段、下钻到城市、按增速排序、以去年为基期——每一步都在当前视图上叠加一项条件,而这些条件的总和决定了图上那个数字的含义。这条原则管的是这些条件是否看得见、是否解得开、以及不同分析动作之间的语义是否被混在一起。它管的是当前这一刻的视图条件,从起点走到这一刻的过程属于 VZ5。选区必须明确表示高亮、筛选或待提交范围;解除与提交必须有可识别的结果。
VZ4-1当前生效的条件完整可见必须
一句话:此刻这张图里是哪一部分数据,要在图上说得出来。
适用提供筛选、时间范围选择、分组、维度切换、下钻或任何改变数据范围能力的视图。
规则当前视图上生效的全部条件必须可见,"完整"是本条的核心:由用户显式设置的条件、由系统默认施加的条件、由上级页面或跳转链接带入的条件、由权限或数据可见范围施加的过滤,都属于当前生效条件,都必须可获得。禁止存在只影响结果而不出现在任何条件说明中的隐式过滤——默认只看最近 30 天、默认排除内部账号、默认过滤测试数据、按当前用户所属组织自动限定范围,都必须可见。可见的判据是读者在看这张图时能到达,不是能在设置面板深处翻出来。数据受权限限制时,必须说明结果仅代表当前获准范围;不得泄露未授权对象的存在、名称、数量或具体过滤谓词。
边界条件本条不要求把每一项条件常驻平铺在图上;条件较多时可折叠,但条件的数量与存在必须在折叠状态下可见,不得整体隐藏。产品范围本身的固有限定(一个只服务于单一地区的产品)在视图层级声明即可,不必逐图重复。
设计应用把"当前视图条件"做成一份结构化描述而不是若干个散落的组件状态——它同时是 VZ5-3 导出物携带条件的内容来源与 VZ6-5 等价路径上可读的依据。默认条件是本条最常见的失效处:它们在开发时是"合理的默认",在使用时是"没人知道的过滤"。
验证示例
- 用户侧:请读者在不打开任何设置面板的前提下,列出当前图上生效的全部条件,与系统实际施加的条件比对。
- 实现侧:清点查询实际下发的全部过滤条件,逐项检查是否在界面上有对应呈现。
反例做不到——报表默认排除已退款订单,条件写在需求文档里,财务据此对账对了两周;做过头——把十七项条件全部平铺在图表上方,占掉半屏,读者反而找不到关键的那两项。
依据与参考分析动作应当从总览到细节并使当前范围可见,见 R13。
VZ4-2每个条件可单独解除必须
一句话:加了五个筛选,要能只去掉其中一个。
适用允许同时施加多项条件的视图。
规则当前生效的每一项用户可控条件必须可被单独解除,不得只提供"全部重置"一种退出方式。解除一项条件后,其余条件必须保持不变,禁止以解除一项为由静默重置其他条件或回到初始视图。条件之间存在依赖时(下钻到城市依赖于已选定省份),解除上级条件对下级条件的影响必须可预知并被告知,不得静默丢弃下级条件而不作说明。不可解除的条件(权限限定、产品固有范围)必须与可解除的条件在呈现上可区分,禁止把不可解除的条件显示成可点击而无反应。清空全部用户可控条件的能力必须存在,但不得作为唯一路径;固定范围与权限限制仍须生效。
边界条件本条不要求任意条件组合都能被解除到任意中间状态,也不要求解除操作可无限撤销(撤销与状态回退见 VZ5-2)。条件之间存在强制依赖时,允许在告知后一并解除。
设计应用条件胶囊逐项带解除入口是常见做法,但要覆盖"由跳转链接带入的条件"与"系统默认条件"——这两类往往被实现成不可见也不可解,于是读者只能通过重新进入页面来摆脱它们。
验证示例
- 用户侧:施加五项条件后要求只去掉第三项,观察其余四项是否保持。
- 实现侧:遍历条件类型,检查每类是否有独立的解除路径,以及解除后查询的其余条件是否不变。
反例做不到——从告警详情跳进分析页,带入了一个不可见也不可去掉的告警对象过滤,用户以为是全量数据;做过头——为每个条件提供解除、反选、锁定、临时禁用四种操作,条件区比图还复杂。
VZ4-3联动的作用范围可判定必须
一句话:在这张图上刷一下,哪些图跟着变、哪些没变,要能知道。
适用由多个视图组成且视图之间存在联动的产品(仪表盘、多视图分析界面、协调视图)。
规则一次分析动作的作用范围必须可判定:在某个视图上施加条件后,哪些视图随之改变、哪些未改变,必须可被读者确定。禁止让读者通过观察数字有没有变来推测联动关系。未参与联动的视图与联动后恰好数据未变的视图必须可区分,否则读者会把"没联动"误读为"这部分不受影响"。联动方向不对称时(A 影响 B,B 不影响 A)必须使该不对称可知。联动导致某视图无数据时,必须呈现为"当前条件下无数据"而非空白或初始状态。跨视图联动的作用范围在视图被单独导出或分享时,按 VZ5-3、VZ5-4 处理。
边界条件本条不要求所有视图必须联动,也不规定联动的默认开关。视图之间不存在任何联动的产品记录"不适用"即可。
设计应用多视图联动的心智难点不在于"点了会变",而在于"哪些没变"。把联动关系做成可见的结构(分组框、连接标示、统一的条件区)比逐次高亮更稳定。选区须绑定稳定的数据标识或明确的区间谓词,不能绑定排序后的屏幕位置;重排、缩放后保持所选对象,已离开结果集的对象标明不可见或按已声明策略清除。
验证示例
- 用户侧:在一张图上框选后,请读者指出屏幕上哪些图受到了影响。
- 实现侧:构造一次联动后各视图数据恰好不变的情形,检查界面是否仍能表明这些视图参与了联动。
反例做不到——仪表盘上六张图,点第一张的柱子会影响其中三张,另外三张纹丝不动且没有任何说明,用户反复点击试探;做过头——每次联动都在全部相关视图上播放高亮动画并弹出提示,连续探索时界面持续闪烁。
依据与参考刷选与视图协调的机制及其设计空间见 R14、R15。
VZ4-4缩放、钻取与筛选语义分开必须
一句话:视窗、粒度与计算数据范围的变化必须分别可辨。
适用同时提供缩放、钻取、筛选中两种及以上能力的视图。
规则改变视窗(缩放、平移)、改变粒度(钻取、上卷、切换时间单位)与改变数据集(筛选、排除)是三种不同的动作,其语义必须分开:缩放禁止静默改变参与计算的数据集——在时间轴上放大后,坐标轴范围之外的数据是否仍参与聚合、平滑、累计与百分比计算,必须一致且可知。三种动作施加的条件必须在条件区分别可辨(见 VZ4-1),并可分别解除(见 VZ4-2)。同一手势或同一控件同时承担两种语义时,必须使当前语义可判定;禁止让同一次滚轮操作在不同图表中分别表示缩放与翻页而无任何提示。钻取导致聚合方式变化时按 VZ2-4 处理。
边界条件本条不禁止把缩放实现为对数据范围的筛选("缩放即筛选"是一种合法设计),但该语义必须被声明并被一致执行,不得在同一产品内两种语义混用。本条不规定手势与控件的具体形式。
设计应用百分比、累计值与移动平均是这条约束的试金石:缩放后分母是否随之改变,决定了同一根柱子上的数字会不会突然变样。把"视窗范围"与"计算范围"作为两个显式字段,比在交互层逐个打补丁更可靠。
验证示例
- 用户侧:对一张含占比的图执行缩放,请读者判断占比的分母是否发生了变化。
- 实现侧:分别执行缩放与等价范围的筛选,比对聚合结果是否一致;不一致时检查是否已声明。
反例做不到——在时间轴上放大到一周,图上的"占全年比例"随之变成了"占这一周比例",没有任何提示;做过头——把缩放、钻取、筛选做成三个必须先选模式才能操作的独立工具,读者每次探索都要先切模式。
VZ4-5比较基准是显式选择必须
一句话:跟谁比、以哪一期为 100,是选出来的,不是天然的。
适用呈现同比、环比、与目标对比、与基期对比、指数化、相对变化或任何依赖基准的量的视图。
规则比较基准是一项设计选择,必须被显式呈现且可被识别:基准对象(去年同期、上一期、目标值、同组均值、指定基期)、基准的取值与其时点必须可获得。禁止把基准的选择呈现为数据的固有属性——"增长 30%"这句话在换一个基期之后就不成立,因此基准不可分离于结论(另见 VZ5-5)。基准本身可能变化时(目标被调整、基期数据被订正),基准的变化必须与被比较量的变化分别可辨,禁止把基准变动造成的比值变化表述为业务变化。产品允许用户更换基准时,当前基准必须属于当前视图条件(见 VZ4-1)并可单独解除(见 VZ4-2);解除时须回到已声明的默认基准或改为绝对量,禁止输出没有基准的增长率。法定或业务固定的基准可以不可解除,但必须可辨识并说明其固定的依据。基期选择显著影响结论时,应当使换一个基期的结果可到达。
边界条件本条不规定应当采用哪个基准,也不要求每张图都提供更换基准的能力。行业或监管已规定基准的场合,按其规定执行并声明来源。
设计应用指数化图表是这条约束最需要落实的地方:把起点全部对齐到 100,谁涨得快完全取决于起点选在哪一天。允许拖动基期并观察排序变化,比任何文字说明都更能让读者理解基准的作用。
验证示例
- 用户侧:更换基期后请读者重新描述各序列的相对表现;描述反转说明结论建立在基准选择上。
- 实现侧:检查基准是否作为显式参数存在于图表规格中,而不是硬编码在查询里。
反例做不到——图上写"较基期增长 3 倍",基期是哪一天全图无处可查;做过头——每张对比图都强制用户先选基准才能看到内容,日常监控被拖慢。
VZ4-6排序与截断说明其余部分应当
一句话:只显示前十,剩下的去哪了要有交代。
适用对数据作排序后只呈现部分条目的视图(Top N、排行榜、按大小截断的条形图、限制类别数的分类图)。
规则只呈现部分条目时,应当使被略去部分的存在与规模可获得:被略去的条目数量、其合计值或占比、以及排序所依据的字段与方向。禁止把截断后的部分呈现为全体——在只显示前十的图上标注"总计"、或在未标明分母范围的情况下按这十条计算占比,是本条明确禁止的做法。明确标注分母范围的子集占比是允许的(例如"占前十名合计的 32%"),前提是被略去部分的存在与规模仍然可知。归入"其他"的条目应当使其构成可到达,不得让"其他"成为一个无法展开的黑箱。排序依据的字段与图上主要呈现的量不一致时(按销售额排序但图上画的是增长率),必须使这一点可知。存在并列或差异不可区分的条目时另见 VZ3-5。
边界条件本条不要求展示全部条目,也不禁止"其他"这一归并方式;判据是被略去部分是否可知,不是是否被显示。类别数量本身很少且已全部呈现的视图记录"不适用"即可。
设计应用把"其他"做成可展开的一档而不是一个终点。长尾占比很高的数据尤其危险:前十名合计只占 12% 的时候,一张 Top 10 图给人的印象与数据本身几乎无关。
验证示例
- 用户侧:给出一张 Top 10 图,请读者估计这十项占全体的比例。
- 实现侧:检查图上任何占比或合计的分母取自全体还是取自被呈现的子集。
反例做不到——错误类型 Top 10 柱状图,配文"这十类占了全部错误",实际上未显示的长尾占 60%;做过头——把 800 个类别全部画进一张图,前面几根柱子可读,后面是一片糊在一起的细线。
VZ4-7查询状态与生效条件一致必须
一句话:新筛选还没算完,旧结果不能冒充新结果。
适用异步筛选、多视图查询、自动刷新与逐步返回数据的界面。
规则界面必须区分编辑中的条件、已提交的条件与当前结果实际采用的条件。加载期间保留旧结果时,必须标明它对应旧条件及数据时点;不得以新条件标题包装旧数值。返回结果必须与当前有效请求及条件匹配,过期响应不得覆盖后发请求的结果。首次加载、当前条件无结果、查询失败、权限拒绝、部分成功和使用旧缓存必须可区分。局部成功仅更新其适用视图,并标明哪些部分尚不可联合比较;取消、超时及重试不得伪装为完成。
边界条件不要求全部视图同时返回。可以逐图更新或成组提交,但必须区分展示进度与共同可比的结果;加载动画本身不是条件生效的证据。
设计应用条件区显示待提交状态;保留旧图时在图标题旁写明“上次结果”。请求完成后一次更新该视图的数据、标题、表格与摘要;取消等待后仍可修改条件。
验证示例
- 用户侧:快速连续选 A、B 两个地区,用户始终能判断当前数值属于谁;失败时能保留条件并重试。
- 实现侧:使 A 晚于 B 返回、某图超时、缓存过期,检查图、表、标题、摘要与导出是否使用同一结果绑定。
反例做不到——条件显示 B,慢返回的 A 覆盖结果。做过头——每次筛选锁住整屏,用户不能修改条件或取消等待。
依据与参考由异步分析的结果一致性承诺推导,属于工程故障模型。
3.5 VZ5 分析过程可回溯可携带
分析很少一步到位。人会试一个筛选、发现不对、换一个维度、下钻、退回来、再换个基期——结论是这一串动作的结果,而不是某一次点击的结果。这条原则管两件事:这串动作是否留得住、退得回,以及当这张图离开产品(被导出、被截图、被分享、被贴进汇报材料)之后,它成立的条件是否还跟着它。图会被转发,转发的人不会转发上下文,这是这个领域最稳定的失效路径。
VZ5-1到达当前视图的路径可查必须
一句话:怎么走到这一步的,要留得下记录。
适用支持多步骤探索式分析的产品(分析工作台、自助 BI、数据探索工具)。
规则从分析起点到当前视图所经过的操作序列必须可查,内容至少包括:每一步施加或解除了什么条件、改变了什么粒度或编码、以及该步骤对应的时点。记录的单位是用户可识别的分析动作,不是内部事件:一次拖拽产生的十几个中间状态属于一步,不得把日志直接当作分析路径呈现。系统自动施加的步骤(默认条件、自动下钻、推荐视图、由 Agent 生成或调整的视图)必须与用户主动施加的步骤可区分。路径记录必须与实际生效的条件一致,禁止呈现一份与当前视图对不上的历史。系统生成视图或结论时,必须记录实际输入范围、加工步骤、生成来源及使用的数据快照;不得把生成步骤标为用户操作。
边界条件本条不要求记录鼠标移动、悬停与滚动这类不改变视图条件的动作,也不要求永久保留路径。仅提供固定报表、不支持探索的产品记录"不适用"即可。保留期限由产品声明。
设计应用把分析路径与"当前视图条件"用同一份结构描述串起来——路径是条件的变更序列,两者同源才不会对不上。自动步骤与人工步骤的区分是本条容易被忽略的一半:读者回看时最需要知道的往往正是"这个筛选是我加的还是它自己加的"。
验证示例
- 用户侧:完成一段十来步的分析后,请读者依据路径记录说出中间某一步做了什么。
- 实现侧:在路径中插入一次系统自动施加的条件,检查其是否被标示为非用户操作。
反例做不到——探索半小时后想不起来那个反常的数字是在哪一步出现的,只能重来;做过头——把每一次悬停、每一次滚动都记进路径,一段五分钟的分析产生四百条记录,无法阅读。
依据与参考分析过程留存的类型划分与用途见 R16;图形化历史的可用形式见 R17。
VZ5-2可回到此前的分析状态必须
一句话:退一步不该等于从头再来。
适用支持多步骤探索式分析的产品。
规则用户必须能够回到此前的分析状态,且回退的单位与 VZ5-1 记录的分析动作一致。回退必须恢复完整的视图条件集合,不得只恢复其中一部分(只退回筛选而不退回粒度与基期,等于回到了一个从未存在过的状态)。回退不得改变底层数据本身;数据在此期间已发生变化时,恢复的是条件而非当时的数值,这一点必须可知——呈现旧条件配新数据而不作说明,会使读者以为看到的是当时那张图。回退能力的边界(能退多少步、跨会话是否保留、关闭页面后是否失效)必须被声明。恢复失败时必须保留当前有效状态,说明未恢复的部分并提供重试或返回入口;不得用成功提示掩盖部分恢复。
边界条件本条不要求无限步回退,也不要求跨设备恢复。不改变任何视图条件的产品记录"不适用"即可。
设计应用分析中的"退一步"与文档编辑中的撤销心智不同:读者要退回的是一个可辨认的分析状态,不是上一次点击。把可回退点做成命名状态("回到未下钻前")比逐步撤销更贴近实际用法。
验证示例
- 用户侧:连续施加六项操作后要求回到第三步,检查是否所有条件都回到了当时的组合。
- 实现侧:在两次访问之间更新底层数据,检查恢复历史状态时是否说明数据已变化。
反例做不到——浏览器后退键把整个分析页刷回初始状态,半小时的探索归零;做过头——每一步都要求用户先命名并保存才能回退,探索被打断成一连串保存动作。
依据与参考分析历史的呈现与回退形式见 R17。
VZ5-3导出物携带其成立条件必须
一句话:导出的图脱离了产品,条件要跟着走。
适用提供图片导出、PDF 导出、数据导出、报表生成或截图分享能力的产品。
规则导出的图形与数据必须携带其成立条件,至少包括:数据时点与刷新状态(VZ2-1)、当前生效的全部条件(VZ4-1)、聚合粒度与聚合方式(VZ2-4)、比较基准(VZ4-5)、以及导出发生的时点。图像类导出物无法承载可交互的说明,因此这些条件必须被渲染进图像本身或与之一并交付,不得依赖"回到产品里就能看到"。数据类导出物(CSV、表格文件)必须同样携带条件,禁止只导出数值列而丢弃口径与条件。产品提供的截图或复制到剪贴板的能力,其产物同样适用本条——这是最常被排除在导出流程之外、也最常被转发的一类产物。导出物含自动生成的图形或解读时,必须保留其生成来源,并将解读与原始统计结果区分。
规则导出必须绑定已提交条件与对应的数据快照,保留单位、口径、缺失与抑制状态、抽样或降采样说明及影响判读的不确定性。导出过程中界面条件改变时,不得混用两组条件与数值;权限必须重新核对。不能导出当前可见旧结果时,应等待新结果或明确提供另一份产物,不能悄悄换数。
边界条件本条不要求把完整口径文档嵌进每一张导出图;要求的是条件本身随图,口径详情可以以可解析的引用形式承载(指向对应定义的固定链接、口径标识)。用户自行使用系统截图工具产生的图像不在产品可控范围内,本条不据此判定不合规,但产品应当使图上原本就带有关键条件(见 VZ4-1)以降低该风险。
设计应用把"当前视图条件"的结构化描述渲染成图脚,是同一份数据的第二种用法,不是另写一套导出逻辑。判断本条是否落实的最简方式:把导出的 PNG 发给一个没打开过产品的人,问他能不能说出这张图算的是什么范围的数。
验证示例
- 用户侧:把导出的图交给未参与分析的人,请其复述数据时点与生效条件。
- 实现侧:对每一种导出格式与每一条截图路径,检查条件字段是否被写入产物。
反例做不到——分析师截了一张同比图发进群,图上只有一条线和一个"+30%",没人知道基期是哪年、筛的是哪些渠道;做过头——每张导出图下方附上三页附录,实际使用中被裁掉。
VZ5-4分享后的视图与条件一致必须
一句话:对方打开看到的,要么是同一张图,要么被明确告知不是。
适用提供链接分享、视图分享、订阅推送或协作查看能力的产品。
规则分享一个视图时,接收方打开后看到的条件必须与分享方分享时的条件一致,或差异必须被明确告知。以下三类差异必须被处理而非静默发生:接收方的数据权限不同导致数据范围不同(必须使"你看到的范围与分享方不同"可知,具体差异按权限规则处理);分享的是"链接到实时视图"而非"当时的快照",导致数据已更新(必须使两者的性质可辨,并使数据时点可见);接收方的个人默认设置(默认时间范围、默认筛选、时区、货币、语言)覆盖了分享的条件(禁止让个人默认静默覆盖分享条件)。分享链接必须能解析到完整的视图条件,不得只携带页面地址而丢弃条件。
边界条件本条不要求所有分享都必须是冻结快照,也不要求向接收方披露其无权查看的内容。分享方与接收方权限相同、且分享的是实时视图并已声明时,数据随时间更新不构成违反。
设计应用把"分享快照"与"分享实时视图"做成两个语义分明的动作,而不是一个链接两种行为——这两者在讨论中的用法完全不同:一个用来说"我看到的是这个",另一个用来说"你去看现在怎么样"。时区与货币这类个人默认覆盖分享条件的情形,是跨地区团队里最常见的一处对不上账。
验证示例
- 用户侧:用两个数据权限不同的账号打开同一条分享链接,比对各自看到的内容与提示。
- 实现侧:把接收方账号的默认时间范围设为与分享条件不同的值,检查打开后生效的是哪一个。
反例做不到——把看板链接发给同事,对方权限只覆盖一个大区,看到的数字小了一半,页面上什么也没说,两人在会上各报各的数;做过头——每次打开分享链接都弹出一份完整的条件差异报告,需要逐项确认才能看图。
VZ5-5注记与结论绑定成立条件应当
一句话:"增长 30%"这句话要和它成立的那组条件绑在一起。
适用允许在视图上添加注记、标注、评论,或由系统生成结论文案、洞察摘要与告警说明的产品。
规则写在图上的结论性表述应当与其成立时的条件绑定,使读者能够确定该表述是在哪一组条件下作出的。条件此后发生变化时,禁止让原有注记继续以无条件成立的形式呈现在新条件之下——注记应当随其绑定的条件失效、被标示为可能不再适用、或使其原始条件可查。系统自动生成的结论文案同样适用本条,且应当使其所依据的数据范围与时点可获得。注记指向具体图元(某个峰值、某段区间)时,底层数据变化使该图元不再存在时,应当使注记的悬空状态可知,不得静默丢弃也不得静默改挂到别的图元上。由系统给出的解读与数据本身必须可区分,并能查到解读所依据的数据范围与时点。
边界条件本条不要求每条注记都附带完整条件清单,可解析即可。与数据无关的协作评论("这个下周再讨论")不受本条对条件绑定的要求。
设计应用把注记做成挂在"条件 + 图元"上的对象而不是挂在坐标上的浮层。看板上那些写于半年前、条件早已改过的批注,比没有批注更容易误导人——它们看起来像是对当前这张图的说明。
验证示例
- 用户侧:改变筛选条件后检查旧注记的呈现,请读者判断它是否仍然适用。
- 实现侧:删除注记所指向的数据行,检查注记是被标示为失效还是被挂到了相邻图元上。
反例做不到——图上一句"11 月的峰值来自双十一活动",切换到"仅自然流量"后这句话还在原处,而那个峰值已经不见了;做过头——每条注记都强制附上一份完整条件快照,注记区比图还长,没人再写注记。
依据与参考分析过程留存与结果解释见 R16、R17。
VZ5-6依据变化使既有产物失效时告知必须
一句话:底层数据订正了,已经发出去的图不能装作没事。
适用底层数据可能被订正、重述、回补或按新口径重算,且产品已产生对外产物(导出物、分享链接、订阅推送、已发布报表)的情形。
规则底层数据或口径发生变化,使既有产物所呈现的结论不再成立时,必须使受影响的产物可被识别,并向其已知的接收方告知。告知内容至少包括:变化的性质(数据订正、口径变更、来源重述)、受影响的时间范围与指标、以及在哪里可以取得更新后的结果。禁止静默重算已发布的数值而不留下修订痕迹(另见 VZ2-3)。产品无法追踪产物接收方时,必须使这一局限可知,并至少在产品内对受影响的视图作出标示,不得因为追踪不到而不作任何处置。订阅推送与定时报表必须能够就已发出的期次作出更正。
边界条件本条不要求追踪脱离产品的截图与转贴,也不要求为不影响结论的技术性变更(后端存储调整、渲染优化)发出告知。变化不改变任何已呈现数值时记录"不适用"即可。"影响结论"的判据由产品声明并记录,本规范不给出通用阈值。
设计应用本条与 VZ5-3 是一组:导出物携带条件,才有可能反过来判断哪些产物受了影响。仅在产品内部标记"数据已订正"是不够的——已经发出去的那张图不会自己回来看告示。
验证示例
- 用户侧:对一份已发出的订阅报表所依据的数据作出订正,检查接收方是否收到更正。
- 实现侧:注入一次历史数据回补,检查系统能否列出受影响的已发布产物清单。
反例做不到——月度报表发出一周后数据回补,后台数字改了,收件箱里那份旧报表还在被引用;做过头——每次任何数据的任何微小变动都向全部历史接收方群发更正邮件,收件人开始整体屏蔽这个发信人。
依据与参考分析过程留存与结果解释见 R16、R17。
3.6 VZ6 数据可被感知与到达
一张图是通往一份数据的路径,不是唯一的路径。看不出红绿差异的人、用屏幕阅读器的人、只能用键盘的人、在强光下看手机的人、把图打印成黑白的人——他们要拿到的不是这张图的描述,是这张图承载的那份事实。这条原则管的是这些路径是否存在、是否等价、是否与主路径同步。本原则覆盖数据的等价访问、可读性下限与分析操作的可达性。
VZ6-1颜色不作为唯一编码通道必须
一句话:区分两条线,不能只靠一红一绿。
适用使用颜色区分类别、状态或表示数量的视图。
规则颜色禁止作为区分类别或表达状态的唯一视觉通道。需要读者区分的类别必须同时由至少一条非颜色通道承载:位置、形状、线型、填充纹理、直接标注、大小或分组。表示状态与告警的颜色(红色表示异常、绿色表示达标)必须同时有非颜色表达(图标、文字、标记、位置)。分类色板应当选用对常见色觉障碍类型仍可区分的方案,并记录所用方案的来源;连续色标的有序性另见 VZ1-6。直接在图元旁标注类别名,是同时满足本条与减少图例查找负担的做法,在类别数较少时应当优先于依赖图例的分色。类别数量超出可区分色数时,必须改变编码策略(分面、直接标注、分组),禁止继续增加相近颜色。
边界条件本条不禁止使用颜色,也不要求每张图都做成灰度可读——要求的是颜色之外还有一条通道承载同一区分。连续量的颜色映射本身按 VZ1-6 处理,其可辨性要求以数值可读取(VZ6-4)与等价路径(VZ6-2)为兜底。对比度与命中区域按 VZ6-6 验证。
设计应用把图转成灰度看一遍,是成本最低的一次自检。折线图直接在线的末端写上系列名,比图例更省事也更稳;散点图用形状加颜色的组合,在打印与投影两种最常见的失效场景下都还能用。
验证示例
- 用户侧:以灰度渲染同一张图,请读者完成该图按其声明的冗余路径所支持的判读任务;本项不要求每张图在灰度下完成全部任务,也不凌驾本条边界条件所列的例外。
- 实现侧:清点每一处颜色赋值,检查是否存在仅由颜色承载而无第二通道的区分。
反例做不到——盈亏表用红绿两色标示涨跌,没有正负号也没有箭头,红绿色觉障碍读者读到的是两组一样的数字;做过头——每条线同时加上颜色、线型、点形状、纹理与端点标注,五条线挤在一起时视觉噪声高到谁也读不出趋势。
依据与参考复杂图形与数据表的等价访问见 R19、R20;颜色与必要图形部件的对比度见 R23。
VZ6-2图形有等价的数据访问路径必须
一句话:看不了图的人,要有别的路拿到同一份数。
适用呈现数据的视图。
规则每个承载数据的视图必须存在一条不依赖读取图形的等价路径,使读者能够获得该视图所呈现的数据。等价的判据是能否完成这张图声称支持的任务,不是能否复现这张图的外观:可以是可访问的数据表、结构化的文字摘要加数值列表、或按序可遍历的数值序列。等价路径必须与主视图呈现同一份数据、同一组条件下的结果,并与主视图同步更新;主视图因联动或筛选而改变时,等价路径必须随之改变。禁止以"数据可以导出"作为唯一的等价路径——导出是一次性动作,不构成对当前视图的等价访问。等价路径的入口必须可被发现,且不得要求先完成一次视觉判读才能到达。数据表必须有可识别的表头与数据关联,操作入口具有名称、角色与状态;键盘和非拖动路径按 VZ6-7 验证。
边界条件本条不要求为纯装饰性图形提供数据路径,也不要求等价路径复现图形的视觉结构。数据量极大的视图(数十万点的散点图)不要求逐点可读,但必须提供该视图声称支持的判读所需的信息(分布摘要、聚合值、可查询的子集);采用摘要替代时须声明其覆盖范围。
设计应用等价路径最容易失效的地方是"同步":表格是照着初始数据渲染的,图跟着筛选变了,表没变。把两者接在同一个查询结果上,比事后对齐更可靠。数据量大时,与其提供一份读不完的表,不如提供该图要回答的那个问题的答案。
验证示例
- 用户侧:不使用视觉呈现,仅通过等价路径完成该视图声称支持的任务。
- 实现侧:施加一项筛选,检查等价路径的内容是否随之改变。
反例做不到——复杂看板全部由画布渲染,屏幕阅读器读到的只有一句"图表";做过头——为一张三个点的迷你趋势图生成一份包含全部原始明细的一千行数据表,等价路径本身成了负担。
依据与参考复杂图形与数据表的等价访问见 R19、R20;颜色与必要图形部件的对比度见 R23。
VZ6-3替代表述陈述数据而非外观必须
一句话:别念"一张蓝色的折线图",要说这条线走到了哪。
适用为图形提供文字替代表述、摘要或语音描述的产品。
规则图形的替代表述必须陈述数据与该图要传达的信息,而不是图形的外观。至少包括:图所表示的量与其单位、覆盖的范围与时点、以及该图声称支持的判读所需的关键事实(趋势方向与幅度、极值及其位置、分组之间的关系、异常点)。禁止以图表类型、颜色、样式的描述充当替代表述("一张包含五条彩色曲线的折线图"不满足本条)。替代表述必须与图呈现同一组条件下的同一份数据,条件变化时必须随之更新。替代表述中的结论性陈述必须与数据本身可区分;由系统自动生成时必须保留生成来源。替代表述不得因简短而省略 VZ2、VZ3 要求的时点、口径与不确定性信息中影响判读的部分。
边界条件本条不要求替代表述穷举全部数据点——完整数值由 VZ6-2 的等价路径承担,本条要求的是这张图所传达的信息。纯装饰性图形不适用本条。
设计应用写替代表述的方法是先回答"这张图是为了让人知道什么",再把答案写出来。自动生成的描述容易退化成外观复述,因为外观是渲染层唯一确定知道的东西;把图表规格里的"声明判读任务"字段接进生成过程,能把描述从形状拉回数据。
验证示例
- 用户侧:只朗读替代表述,请听者复述该图的主要事实并与看图者的复述比对。
- 实现侧:改变数据使趋势反转,检查替代表述是否随之改变。
反例做不到——图片替代文字写成"季度销售图表.png";做过头——一段长达四百字、逐点朗读全部数值的描述,听者听到第三十个数字时已经失去了整体印象。
依据与参考复杂图形与数据表的等价访问见 R19、R20;颜色与必要图形部件的对比度见 R23。
VZ6-4值的读取与比较不依赖悬停与精细指点必须
一句话:具体数值不能只藏在鼠标停住的那一瞬。
适用通过悬停提示、指针跟随、刷选或需要精确定位的交互提供数值读取与详情的视图。
规则图上任何仅通过悬停或精细指点才能获得的信息,必须同时有另一条不依赖悬停与精细指点的获取路径。这适用于:数值读取(工具提示中的具体数字)、编码说明(VZ1-1)、口径与定义(VZ2-2)、不确定性含义(VZ3-2)以及分类标签。触屏设备上不存在悬停状态,因此在声明支持触屏的产品中,悬停不构成任何信息的可用路径。密集图元(细小的散点、窄柱、地图上的小区域)的选取不得要求超出产品声明支持范围的指点精度。用面积、角度、颜色等低精度通道承载需要定量判读的量时,本条要求的数值读取路径是必需的(见 VZ1-7、VZ1-4)。悬停或选中后出现的详情,其内容必须与等价路径提供的内容一致。可操作目标与焦点要求见 VZ6-6;键盘及非拖动操作见 VZ6-7。
边界条件本条不禁止使用悬停提示,也不要求所有数值常驻显示;要求的是悬停不作为唯一路径。纯粹的视觉增强效果(悬停高亮而不携带额外信息)不适用本条。
设计应用键盘遍历数据点、点击选中后固定显示详情、可切换的数值标签、以及 VZ6-2 的数据表,都是可用的第二条路径;其中数据表通常最省力,因为它同时满足 VZ6-2。移动端产品要特别检查从桌面移植过来的悬停逻辑——它们往往被改成长按,而长按既不可发现也与系统手势冲突。
验证示例
- 用户侧:拔掉鼠标,仅用键盘读取图上任意一个数据点的具体数值。
- 实现侧:清点全部仅存在于悬停态的信息项,逐项检查是否有第二条路径。
反例做不到——一张有 200 个点的散点图,每个点的标签只在鼠标精确停在 4 像素圆点上时出现,触屏上完全不可用;做过头——把所有数据标签常驻显示在图上,200 个数字互相遮挡,图形结构被文字淹没。
依据与参考复杂图形与数据表的等价访问见 R19、R20;颜色与必要图形部件的对比度见 R23。
VZ6-5分析条件在等价路径上同样可见可操作必须
一句话:筛选状态不能只画在那几个彩色胶囊上。
适用既提供分析条件操作能力、又需满足 VZ6-2 等价路径要求的产品。
规则VZ4 要求可见的当前视图条件,必须在等价路径上同样可获得;VZ4 要求可解除的条件,必须在等价路径上同样可解除。禁止出现"看得到数但不知道这是筛过的数"的等价路径——一份不带条件说明的可访问数据表,比没有等价路径更容易导致错误结论。条件发生变化时(由本人操作、由联动、由系统自动施加),该变化必须在等价路径上可被察觉,播报应合并连续中间变化,保留提交后的结果摘要与失败信息,不得因频繁变化而完全静默。联动的作用范围(VZ4-3)在等价路径上必须同样可判定。分析路径与回退能力(VZ5-1、VZ5-2)应当在等价路径上可用。
边界条件本条不要求等价路径复现条件区的视觉形式,也不要求每次条件变化都强制播报全部条件。产品不提供任何条件操作能力时记录"不适用"即可。
设计应用把"当前视图条件"的那份结构化描述同时作为等价路径的内容来源——这是 VZ4-1、VZ5-3 与本条共用同一机制的地方。条件区通常是可视化产品里最晚被纳入无障碍改造的部分,因为它看起来像是"图外面的东西",而它恰恰决定了图里的数是什么。
验证示例
- 用户侧:仅通过等价路径,判断当前数据被施加了哪些条件,并解除其中一项。
- 实现侧:触发一次联动导致的条件变化,检查等价路径上的内容与状态提示是否随之更新。
反例做不到——可访问的数据表完整准确,但读者无从得知它只包含华东地区,因为地区筛选只体现在一个彩色胶囊上;做过头——每改变一项筛选就播报一遍全部十七项条件,读者无法完成连续操作。
依据与参考复杂图形与数据表的等价访问见 R19、R20;颜色与必要图形部件的对比度见 R23。
VZ6-6可读性与操作目标有可核验下限必须
一句话:必要图形看得清,操作目标点得到,焦点找得回。
适用图表文本、必要数据图形、图例控件、筛选控件及交互目标。
规则采用 Web 界面的产品必须按 WCAG 的适用成功准则核对以下要求,并记录测量对象、实际取值和适用例外。普通文本对比度至少 4.5:1,大文本至少 3:1;大文本按标准定义判断,不以组件名判断。识别控件状态和理解内容所必需的图形部件,相对实际相邻颜色至少 3:1。指针目标至少 24 × 24 CSS px,或符合间距、等价目标、行内、用户代理控制、必要呈现等具体例外。键盘焦点必须可见且不能被作者创建的内容完全遮挡。禁止以“图表点太多”为由整体豁免。
边界条件数据点的可见大小与命中区域可以不同;扩大命中区域不得改变数据编码或造成无法判定的重叠目标。必要时提供列表或数据表中的等价控件。3:1 不要求所有系列无差别两两比较;依赖相邻边界判读的区域须检查边界,分离且有标签的线条按实际背景检查。记录偏离与替代措施不能冒充标准符合性。非 Web 产品须声明适用平台要求及测量单位,不把 CSS px 直接当物理像素。
规则对有减弱动态偏好的用户必须提供静态或减弱过渡;自动更新或动画不得持续打断判读,必须提供暂停或手动更新入口。
设计应用正文、细线、选中描边与焦点分别验证;深色主题、强制颜色模式及导出结果也纳入检查。
验证示例
- 用户侧:在放大、强制颜色和键盘操作下识别数据、选中态与焦点;用触屏选择密集点的替代列表。
- 实现侧:核对实际相邻颜色、字号、命中区域、遮挡及例外证据;检查扩大命中区后能否唯一选中目标。
反例做不到——用浅灰细线编码关键系列,焦点被浮层盖住;做过头——把每个散点画成 24 px 大圆,覆盖数据分布。
依据与参考R23、R32。标准阈值与任务可分辨性须分别验收。
VZ6-7分析动作具备键盘与非拖动路径必须
一句话:能读到数,也要能选、筛、比较和退出。
适用提供刷选、缩放、平移、钻取、图例操作、数据详情或实时更新的产品。
规则分析功能必须有键盘路径;拖动操作必须另有单指针非拖动路径,必要拖动或未修改的用户代理功能按标准例外判断。刷选可用起止值输入,平移与缩放可用按钮,不能仅用键盘替代拖动。焦点、悬停、选中和筛选必须区分;焦点移动不得隐式提交筛选。详情浮层须可关闭且关闭后焦点返回合理位置。密集点导航须提供分组、搜索、分页或等价表格,不能要求逐个 Tab 穿过全部图元。结果更新不得抢走焦点;被聚焦对象消失时须将焦点移到可解释位置并告知。
边界条件不要求为每个点建立 Tab 停靠点,也不强制使用复杂 grid 语义。缩小容器可调整布局,不得静默删去关键条件、不确定性或操作入口。
设计应用为刷选提供起止输入,为平移缩放提供按钮,为密集点提供可搜索表格;图内用分组导航,退出详情后回到原对象或对应分组。
验证示例
- 用户侧:不用鼠标完成选择范围、钻取、清除与回退;用单指针不拖动完成同样动作,并返回原位置。
- 实现侧:检查快捷键冲突、焦点恢复、浮层关闭、实时排序后的焦点绑定与减弱动态偏好下的静态路径。
反例做不到——只有拖拽框选才能筛选;图表刷新后焦点跳到页面顶部。做过头——为十万个点逐一创建 Tab 入口,无法离开图表。
依据与参考R32;密集导航与稳定焦点的实现要求由任务可达性推导。
4. 术语和定义
本章定义用于判读、实现与验收的核心对象。
| 术语 | 定义 | 关键边界 |
|---|---|---|
| 视觉通道 | 用来承载数据的图形属性:位置、长度、角度、面积、体积、颜色、明度、形状、线型、纹理、方向。 | 是编码的载体,不是图表类型。同一种图表可以同时使用多条通道;一条通道在一个视图内只允许承担一项数据含义(VZ1-2)。 |
| 编码 | 数据字段到视觉通道的映射,含比例尺类型、取值范围与方向。 | 是可声明、可核对的规格,不是渲染结果。"图长这样"不构成对编码的说明。 |
| 判读任务 | 这张图要让读者回答的问题:比较大小、估计比值、判断趋势、发现异常、了解分布或定位个体。 | 是产品的显式声明,不是图表类型的默认属性。未声明判读任务时,通道选择(VZ1-7)与不确定性形式(VZ3-6)都无法被检验。 |
| 口径 | 一个指标成立所依赖的定义:计算方式、统计范围、单位、时段边界与排除项。 | 与数据质量是两件事。口径清楚的数可能是错的,口径不清的数则连对错都无法判断。 |
| 数据时点 | 数据所覆盖的时间范围,以及该数据被生成的时间。 | 是两个值,不是一个。"截至 3 月 31 日"与"4 月 2 日跑出"不互相替代(VZ2-1)。 |
| 聚合方式 | 把多条记录归并成一个值所采用的运算:求和、均值、中位数、去重计数、取最新、加权平均。 | 与聚合粒度是两件事。改变粒度不应当改变聚合方式,改变时必须告知(VZ2-4)。 |
| 派生量 | 由原始数据计算得到的量:同比、环比、移动平均、指数化、季节调整、占比、标准化分数。 | 其数值同时取决于原始数据与算法参数。窗口长度与基期变了,数就变了,因此它们属于口径而非展示选项(VZ2-6)。 |
| 估计值 | 由抽样、模型或插补得到、与被测量之间存在已知误差的量。 | 与实测值不是同一类量。产品是否掌握其误差信息,与它是不是估计值无关(VZ3-1)。 |
| 不确定性 | 一个估计值与被估计量之间可能的偏离范围及其性质。 | 是这个数的一部分,不是可选的补充说明。"误差棒"是形状,不是含义(VZ3-2)。 |
| 视图条件 | 当前决定图上呈现哪一部分数据的全部约束:筛选、时间范围、分组、粒度、比较基准、排序与截断、权限限定与系统默认。 | 是一份完整集合,不是用户点过的那几项。系统默认与链接带入的条件同属其中(VZ4-1)。 |
| 联动 | 在一个视图上施加的条件影响另一个或多个视图的呈现。 | 作用范围必须可判定。"没跟着变"与"变了但数字相同"是两种状态,不能同形(VZ4-3)。 |
| 比较基准 | 相对量成立所依赖的参照:基期、去年同期、目标值、同组均值。 | 是一项选择,不是数据的固有属性。换基准结论就变,因此它不可与结论分离(VZ4-5、VZ5-5)。 |
| 分析路径 | 从分析起点到当前视图所经过的、用户可识别的分析动作序列。 | 单位是分析动作,不是内部事件日志。系统自动施加的步骤须与用户操作可区分(VZ5-1)。 |
| 产物 | 脱离产品交互环境后仍在传播的图形或数据:导出图片、导出文件、分享链接、订阅推送、复制到剪贴板的内容。 | 一旦离开产品就不再有上下文可查,因此成立条件必须随产物走(VZ5-3、VZ5-4)。 |
| 等价路径 | 不依赖读取图形而获得同一份数据、完成同一判读任务的另一条路径。 | 判据是任务能否完成,不是外观能否复现。朗读图形的样式描述不构成等价(VZ6-2、VZ6-3)。 |
| 数据简化 | 为呈现规模采用的抽样、降采样、聚类或聚合。 | 不自动改变用于指标、占比与告警的计算数据,发生改变须披露。 |
| 查询快照 | 一次查询实际使用的数据与已提交条件的稳定绑定。 | 快照标识不等于数据已永久保存;重现能力须由存储和权限支撑。 |
| 待提交条件 | 用户正在编辑但尚未用于新结果的条件。 | 不等于当前展示条件;加载期间三者可以不同,但必须可辨。 |
| 抑制值 | 因披露限制而不提供具体数值的记录或聚合。 | 不能冒充缺失或零,也不能从详情和导出绕过限制。 |
附录 A:故障注入验证清单与分类检验
本清单用于检验条款是否真的生效,不新增义务。逐项注入,记录系统的实际行为;记录"不适用"是合格结果,记录"没测"不是。
A.1 编码
| 注入 | 期望行为 | 相关规则 |
|---|---|---|
| 任取一处视觉差异,要求读者说出它代表哪个字段上多大的差 | 说得出字段、单位与量级 | VZ1-1 |
| 改变分箱边界或比例尺而不改说明文案 | 被检出为不一致 | VZ1-1 |
| 在同一视图内同时启用分类分色与阈值告警色 | 两者不争用同一通道 | VZ1-2 |
| 把普通柱状图纵轴起点由零改为接近数据最小值 | 该配置被拒绝,或该编码被改为位置类;加断轴标示不放行 | VZ1-3 |
| 对区间条或上下界带核对其长度语义 | 两端含义与所表示的差值被声明 | VZ1-3 |
| 取任意两个面积编码图元核对面积比 | 等于数值比;采用已声明的感知修正方案时,与该函数一致 | VZ1-4 |
| 改变双轴图副轴范围后请读者重述两条线的关系 | 描述不随之反转,或该图未作相关性表述 | VZ1-5 |
| 把连续色标转为灰度 | 顺序型明度单调;发散型两支各自离开中点时单调,正负方向仍可辨 | VZ1-6 |
| 核对每张图的声明判读任务与主编码通道 | 两者被一并记录且相称 | VZ1-7 |
A.2 口径
| 注入 | 期望行为 | 相关规则 |
|---|---|---|
| 使某一数据源更新失败 | 视图显示该状态,不静默沿用上次结果 | VZ2-1 |
| 在一屏多来源看板上逐块询问数据时点 | 各块分别可答,不以最新的一个代表整体 | VZ2-1 |
| 修改指标计算逻辑而不改说明 | 被检出为不一致 | VZ2-2 |
| 在两处使用同名而不同定义的指标 | 各处分别可展开自己的定义 | VZ2-2 |
| 查询跨越一次口径变更的时间范围 | 变更时点与内容被标示,历史处理方式可辨 | VZ2-3 |
| 沿钻取路径逐层比对聚合方式 | 各层一致,或变化已被告知 | VZ2-4 |
| 构造含缺失、零与不适用三种取值的数据 | 三者在图上可区分 | VZ2-5 |
| 注入整段缺失后渲染折线 | 不直接连线跨越,缺失段可识别 | VZ2-5 |
| 请读者说出平滑曲线的窗口长度与末端是否完整 | 均可答出 | VZ2-6 |
A.3 不确定性
| 注入 | 期望行为 | 相关规则 |
|---|---|---|
| 提供一份不含不确定性字段的估计数据 | 显式声明无该信息,不按确定值静默渲染 | VZ3-1 |
| 请读者指出图上哪些量是实测、哪些是估计 | 可分辨 | VZ3-1 |
| 请读者说出误差图元两端各代表什么 | 说得出统计含义与水平 | VZ3-2 |
| 沿最细下钻路径构造分母为个位数的单元格 | 被标示为不稳定或按声明规则隐去 | VZ3-3 |
| 检查小样本标示是否出现在色阶图、排行榜与导出文件中 | 三处都带标示 | VZ3-3 |
| 把系统时间调至周期开始的第二天 | 当期被标示为不完整 | VZ3-4 |
| 在预测段与实测段之间比对视觉形式 | 可区分,分界时点可识别 | VZ3-4 |
| 按预先声明的数据生成假设注入随机扰动并运行自动洞察 | 结论的变化落在预先声明的允许范围内;真实差异改变时结论允许改变,门槛附近的变化不单独判为失败 | VZ3-5 |
| 构造两个估计各自区间重叠、而差值区间不含零的一组量 | 不输出"相等"或并列事实;按所声明的判定规则给出"支持差异/未获足够证据/未评估" | VZ3-5 |
| 让目标读者用图回答其声称支持的不确定性判断 | 判断分布无系统性偏差,或偏差已被记录 | VZ3-6 |
A.4 分析条件
| 注入 | 期望行为 | 相关规则 |
|---|---|---|
| 清点查询实际下发的全部过滤条件 | 用户条件逐项可核对;权限约束以获准范围摘要表达,不泄露隐藏对象 | VZ4-1 |
| 从告警或外部链接跳入分析页 | 带入的条件可见且可解除 | VZ4-1、VZ4-2 |
| 施加五项条件后只解除第三项 | 其余四项保持不变 | VZ4-2 |
| 构造一次联动后各视图数据恰好不变的情形 | 仍能表明这些视图参与了联动 | VZ4-3 |
| 对含占比或累计值的图执行缩放 | 计算范围是否改变可知且一致 | VZ4-4 |
| 更换基期后请读者重述各序列的相对表现 | 基准的作用可被识别,基准值与时点可获得 | VZ4-5 |
| 在只显示前十的图上核对占比分母 | 分母取自全体,或该限定已声明 | VZ4-6 |
A.5 过程与产物
| 注入 | 期望行为 | 相关规则 |
|---|---|---|
| 完成一段十来步的分析后依据记录复述中间某一步 | 可复述;自动步骤与人工步骤可区分 | VZ5-1 |
| 连续施加六项操作后回到第三步 | 全部条件回到当时组合 | VZ5-2 |
| 在两次访问之间更新底层数据后恢复历史状态 | 说明数据已变化,不呈现为当时那张图 | VZ5-2 |
| 把导出的图片交给未参与分析的人 | 可复述数据时点与生效条件 | VZ5-3 |
| 逐一检查每种导出格式与每条截图路径 | 条件字段均被写入产物 | VZ5-3 |
| 用数据权限不同的两个账号打开同一条分享链接 | 差异被告知,不静默呈现不同范围 | VZ5-4 |
| 把接收方默认时间范围设为与分享条件不同的值 | 分享条件不被个人默认静默覆盖 | VZ5-4 |
| 改变筛选后检查旧注记 | 失效或原始条件可查,不悬空改挂 | VZ5-5 |
| 注入一次历史数据回补 | 可列出受影响的已发布产物并向已知接收方告知 | VZ5-6 |
A.6 感知与到达
| 注入 | 期望行为 | 相关规则 |
|---|---|---|
| 以灰度渲染后完成该图声称支持的判读任务 | 可完成 | VZ6-1 |
| 清点每一处颜色赋值 | 无仅由颜色承载的区分 | VZ6-1 |
| 仅通过等价路径完成该视图声称支持的任务 | 可完成 | VZ6-2 |
| 施加一项筛选后检查等价路径内容 | 随之改变 | VZ6-2、VZ6-5 |
| 只朗读替代表述并请听者复述主要事实 | 与看图者的复述一致 | VZ6-3 |
| 改变数据使趋势反转 | 替代表述随之改变 | VZ6-3 |
| 拔掉鼠标,仅用键盘读取任意数据点的数值 | 可读取 | VZ6-4 |
| 清点仅存在于悬停态的信息项 | 每项都有第二条路径 | VZ6-4 |
| 仅通过等价路径判断当前条件并解除其中一项 | 可完成 | VZ6-5 |
| 抽查图表主题中的对比度与尺寸取值 | 可追溯到声明的标准条款及其例外 | VZ6-6 |
A.7 与 Agent 共存
| 注入 | 期望行为 | 相关规则 |
|---|---|---|
| 由 Agent 自动挑选视图并生成一张图 | 编码可反推、口径可核对、不确定性不省略同样成立;生成步骤可查,自动生成来源可辨 | VZ1-1、VZ2-2、VZ3-1、VZ5-1 |
| 由 Agent 给出一句数据结论 | 所依据的数据来源与时效可查;数据与系统解读可区分 | VZ3-5、VZ5-5 |
| 由 Agent 自动施加筛选后交还给人 | 该条件出现在当前视图条件中,可见且可解除 | VZ4-1、VZ4-2、VZ5-1 |
A.8 分类检验
用于检验第 1 章的切分是否成立:取 10 至 15 条具体要求(可来自本规范条款,也可来自真实评审意见),让至少三名未参与撰写的评审者独立判断其归属原则。归属分歧集中在某两条原则之间,说明这两条原则的规范对象没有切开——此时应当调整原则,而不是增设中间层或说明。已知需要重点检验的两处见第 1 章的明示(VZ1 与 VZ2、VZ4 与 VZ5)。评审人数与分歧阈值是本规范建议的内部检查法,不是经文献验证的标准。
A.9 补充故障场景
| 注入 | 期望行为 | 相关规则 |
|---|---|---|
| 两个小图数值相差十倍但各自自动缩放;删除首个类别 | 共同尺度或独立尺度提示可达,剩余类别编码稳定 | VZ1-8 |
| 不等宽分箱、单点尖峰、渲染降采样 | 箱面积语义正确;简化被披露,不用样本冒充全量结论 | VZ2-7 |
| 跨午夜、夏令时、闰日与未完成周期 | 桶归属与时间规则一致,比较完整度可辨 | VZ2-8 |
| A 请求晚于 B 返回;局部失败但仍有旧缓存 | 不覆盖 B,不用新标题包装旧数值;失败与缓存并存可知 | VZ4-7 |
| 键盘筛选、单指针非拖动框选、焦点对象被刷新删除 | 操作可完成,焦点有可解释去向,不自动提交新筛选 | VZ6-7 |
| 导出时修改筛选并让数据刷新 | 产物仍绑定一个已提交条件与对应快照,不能混合 | VZ5-3 |
| 权限限制、小单元格抑制与零分母同时出现 | 状态分别表达,不泄露隐藏记录或伪造 0% | VZ2-5、VZ4-1 |
附录 B:论据边界与来源类型
B.1 约束词的判据
标「必须」的唯一依据是:缺了它,某条对读者的承诺会在可预见的情境下失效。下列三类论据提供不同支持,不是三种独立的强制性来源;实现参考本身不足以决定标「必须」——
| 来源 | 说明 | 例 |
|---|---|---|
| 成文标准 | 公开标准对该情形作出要求,本规范把它写进设计语言,不构成符合性判定 | VZ6-6 的可读性下限、VZ6-1 的颜色非唯一手段、VZ6-2 的等价路径同步 |
| 有证据的失效 | 已有研究或公开的失败记录表明该承诺会失效 | VZ1-3 的截断轴放大效应、VZ1-4 的面积编码、VZ1-6 的彩虹色标、VZ2-4 的聚合反转、VZ2-5 的缺失处置 |
| 从承诺反推 | 产品既然作出该承诺,缺了这项机制承诺必然落空 | VZ4-1(条件不完整可见时"这是什么范围的数"无法回答)、VZ5-3(产物离开产品后条件无处可查)、VZ2-1(时点不可得时任何时效判断都不成立) |
标「应当」的七条(VZ1-6、VZ1-7、VZ2-6、VZ3-5、VZ3-6、VZ4-6、VZ5-5)中,多数是取舍问题而非底线问题:偏离可能有正当理由,但要留痕并接受同样的验证。其中 VZ1-6 允许领域惯例色标、VZ4-6 允许"其他"归并、VZ3-5 允许已声明不作结论依据的粗略排序——这三处的例外范围最容易被扩大使用。这几条内含的禁止级子句(见 2.2)不因所在规则为【应当】而降格。
B.2 本规范证据最薄的三处
明确列出,不用条款语气掩盖:
- VZ1-7 的通道精度次序来自特定任务下的对照实验,不能当作通用排序使用。经典实验与其众包复现都在受控的比较任务上得出精度差异,但它们不覆盖全部判读任务、数据规模与读者群体;把它读成"位置永远优于面积"是对证据的越界使用。本规范因此只把它写成选择依据与记录要求,不给替换清单——这也是本规范最容易被误引的一条。
- VZ3-3 的小样本阈值没有本规范可核验的通用值。公共统计体系中存在成文的呈现门槛,但那些数值针对特定数据体系与用途设定,不能移植为通用阈值。本规范只要求阈值被显式定义、有依据、并在所有下钻路径上生效,不给数值——这使本条的严格程度取决于产品自己定的那个数。
- VZ5 全组的实证支持弱于 VZ1 与 VZ3。分析过程留存与产物携带条件这两件事,在研究中主要以系统设计与案例形式出现,本次检索未发现能证明"携带条件的产物普遍减少误读"的跨产品对照研究。本组条款的强度来自后果分析(图会被转发,上下文不会),不来自实验证据;VZ5-6 的"影响结论"判据由产品自行声明,是本组最可能被规避的地方。
B.3 本规范未做的事
不判定统计方法的正确性,不给图表类型选择手册,不给"什么数据用什么图"的对照表,不给配色方案与品牌主题,不给图表库 API 与图元实现,不作无障碍符合性判定,不作数据治理与数据质量评估,不作隐私合规判定。这些是产品、设计系统、统计与专项评估的决定;本规范只规定这些决定必须被作出、必须可被检验,以及哪些取值不被允许。
B.4 来源
完整的来源对照、核验状态与检索记录见 reference.md。规范中的条款不因为某个工具这样做过就成立;工具做法是"这类机制在真实产品中可行"的证据,不是"应当这样要求"的依据。多个公开准则之间存在不一致时,本规范不作优劣排序,只取其共同支持的行为性质。
实施验收场景
以下场景把已有条款转成可复核的验收输入,不另设通用性能阈值。按产品适用能力选取,补充真实设备、用户、输入序列和证据;不适用记录原因,未执行不得记为通过。
| 条款 | 测试输入与异常 | 预期行为与失败判据 |
|---|---|---|
| VZ2-6 | 两个组的样本量不同,先分别算百分比再汇总。 | 按声明权重与分母计算,不无条件平均百分比。 |
| VZ4-1 | 新筛选请求发出后旧请求迟到。 | 旧结果不覆盖新条件,显示结果与其条件同源。 |
| VZ5-3 | 冻结图导出后源数据订正。 | 产物携带原时点与口径,不冒充当前结果或可复现快照。 |
每个场景分别核对配置的有效值、执行记录与用户可理解的结果。保留版本、目标、事件时点、失败范围和恢复结果;外部结果未知不填作成功或失败。
本字典记录可复用的行为决策:怎样选尺度、处理缺失、呈现区间、提交筛选、恢复分析、交付产物,以及提供等价操作路径。字段统一使用 viz. 前缀,服务于设计规范的实现与评审。
Token 应当有真实的选择空间。数据字段映射、当前筛选值、区间上下界、查询状态和生成时间分别属于图表规格或运行事实;条件完整可见、过期响应不得覆盖当前结果等要求属于固定底线。不能把这些事实或底线包装成可开关的 Token。填写参数不能证明机制已实现。
1. 读取与解析约定
| 项目 | 约定 |
|---|---|
| 必选 | 适用产品须明确的基础决策,可继承产品预设,不要求逐图或逐用户填写。 |
| 可选 | 仅在对应能力启用时解析;启用后依赖项必须齐备。没有能力时省略,不能把未知当作不适用。 |
| 完整名称 | 节前缀加字段名,例如 viz.encoding + baseline.policy。 |
| 枚举与集合 | 代码词为序列化取值;集合不默认全选。每项集合均整体替换,不隐式合并。 |
| 引用 | 非空字符串,解析到可读取的具体规格、定义或策略及其适用范围;不可只写“按默认”。失效、循环和语义不匹配均为配置错误。 |
| 时长与数量 | 时长写 {value, unit},单位限 ms、s、min、h、d;数量按字段约束取整数,阈值带单位、适用人群和测量依据。 |
| 缺值 | 先继承明确预设;仍缺值则停用依赖该能力的路径并说明原因。保留其他有效功能,不生成假值或成功状态。 |
| 无默认值 | 除下文明确给出的解析行为外,表内首项不等于默认;示例也不是通用默认。 |
| 覆盖 | 产品预设 → 图表规格指定的预设覆盖 → 本次允许的用户选择;组织与数据权限始终约束最终结果。复合结构整体替换后重新校验,禁止得到半份结构。 |
| 生效 | 显示偏好可在下次渲染生效;改变计算、分桶或范围的策略须触发查询并遵守结果绑定,不能只改标签。收紧权限立即阻止后续不允许的读取与导出。 |
每项配置保存有效值、来源层、选择理由、决定者、生效范围、机制依赖与验收证据。这些是配置记录的元数据,不增加 viz.* 字段。非法配置不回落为其他确定事实;需要限制某能力时明确说明,不能静默改图。
参数速览
| 前缀 | 必选 | 可选 | 合计 |
|---|---|---|---|
viz.encoding | 1 | 5 | 6 |
viz.lineage | 1 | 6 | 7 |
viz.uncertainty | 1 | 3 | 4 |
viz.interaction | 1 | 6 | 7 |
viz.trail | 2 | 2 | 4 |
viz.artifact | 1 | 3 | 4 |
viz.access | 1 | 6 | 7 |
共 39 项。必选仍按适用场景解析;没有相应能力的产品无需配置整类参数。
2. 配置、规格与运行事实
以下是三类对象的最小责任边界。事实字段是示意契约,不是可配置 Token。
| 对象 | 承载内容 | 事实缺失或变化时 |
|---|---|---|
| 图表规格 | 判读任务;字段、单位、通道、比例尺及图例映射;指标定义;聚合方式、分子分母;分箱边界;时区与周期;类别稳定标识;关联预设 | 映射和口径不能核对时,不给出依赖它们的业务结论;允许标明缺项的原始数据查看。 |
| 查询结果 | 请求标识、已提交条件标识、快照标识;各来源覆盖区间、生成时点、最近成功时点;加载、失败、缓存、陈旧状态;完整度;数据及误差、缺失、抑制、近似性质 | 按维度分别表达未知,状态可以共存;不能以当前时间填充数据时点,也不能把失败当空结果。 |
| 当前分析状态 | 编辑中、已提交和当前展示条件;条件来源、可解除能力、联动范围;焦点、选区、缩放;当前路径与恢复点 | 展示条件必须与结果绑定;权限限制只提供获准范围摘要,不暴露隐藏对象。 |
| 不确定性描述 | 是否估计、是否取得误差信息;度量种类、上下界、水平、方法、样本量与稳定性判断 | 未取得信息与前端无法显示分别表达;区间不能被捏造。确定计数不被强制添加统计区间。 |
| 产物记录 | 已提交条件与快照、数据时点、生成时点、实际口径、处理说明、来源与生成贡献、接收权限及注记绑定 | 分享重核权限;已不可回取的快照不得冒充可复现。数据订正保留对既有产物的解释。 |
区间的 level 只适用于置信、预测、后验可信等带水平的区间;标准差、标准误、四分位距不能为凑字段伪填 95%。分位范围另给实际分位点。字段实际值来自计算方,前端仅按下述策略呈现。
3. 编码
前缀:viz.encoding
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 基线策略 | baseline.policy | 枚举:zero(量值长度与面积从零起)、marked_position_extent(位置轴按声明范围截断并标示)。区间条另在规格声明端点与差值语义。 | 具有数量轴时明确;普通柱图禁止取第二项。VZ1-3。 |
| 可选 | 尺寸缩放 | size.scaling | 枚举:area、volume、perceptual_area;第三项须同时给 size.correction.ref。 | 尺寸承载量值时必填;二维按面积、三维按体积,数值不得直接映射到半径。VZ1-4。 |
| 可选 | 感知修正方案 | size.correction.ref | 引用:可执行函数、参数、来源及适用图元。 | 仅 perceptual_area 时需要;验收所声明函数,不假装是几何等比。VZ1-4。 |
| 可选 | 色标族 | color.scale.kind | 枚举:sequential、diverging、categorical。 | 颜色承载数据时必填;发散中点及含义写入规格;有序量不能以无序类别色表达大小。VZ1-6。 |
| 可选 | 比较尺度 | comparison.scale | 枚举:shared(共同尺度)、independent_marked(独立尺度并提供共同尺度或数值比较入口)。 | 分面或跨期比较时必填;第二项不许可按图元绝对大小直接比较。VZ1-8。 |
| 可选 | 双轴策略 | dual_axis.mode | 枚举:disabled、unit_conversion、independent_declared。 | 启用双轴时明确;第三项须在规格内声明各轴固定范围或可执行自动范围策略,并禁止依赖对齐的相关性结论。VZ1-5。 |
顺序色标检查单向次序,发散色标按中点两支分别检查,并检查方向可辨。灰度检查仅是诊断。任何预设不得使类别颜色随当前排序重分配。
4. 数据处理与时效
前缀:viz.lineage
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 缺失处置 | missing.policy | 枚举:gap(保留缺口)、exclude_declared(剔除并披露范围)、impute_declared(按 missing.method.ref 插补并标示)。 | 存在缺失时明确;零、不适用、抑制与运算无定义各自保留语义。VZ2-5。 |
| 可选 | 插补方法 | missing.method.ref | 引用:方法、参数、适用字段与插补标识生成规则。 | impute_declared 时必填;合法的置零仍属插补,不得变成实测零。VZ2-5。 |
| 可选 | 时效门槛 | freshness.max_age | 正时长;按来源分别配置,自来源最近成功生成时点计,不从打开页面起计。 | 声称数据时效或支持刷新时必填;覆盖周期与生成时点分别呈现,时间未知不判为新鲜。VZ2-1。 |
| 可选 | 大数据呈现 | reduction.mode | 枚举:none、aggregate、sample、downsample、cluster。非 none 须有 reduction.method.ref。 | 为性能简化数据时明确;查询指标与渲染数据的关系必须声明。VZ2-7。 |
| 可选 | 简化方法 | reduction.method.ref | 引用:算法、参数、覆盖范围、保留特征、适用判读任务与精度验证。 | 启用简化时必填;不能只写算法名,不能承诺保留全部异常而无验证。VZ2-7。 |
| 可选 | 分箱方式 | binning.mode | 枚举:fixed_edges、fixed_width、adaptive_declared;边界、宽度或自适应算法写入规格,实际边界随结果返回。 | 分箱时必填;不等宽直方图须核对面积与频率语义,比较时边界需一致或差异可知。VZ2-7。 |
| 可选 | 时间口径 | time.policy.ref | 引用:时区、日历、周起始、周期边界、端点包含、夏令时及闰日处理、当期完整性判据。 | 时间聚合、跨时区或周期比较时必填;共享视图不被个人时区静默改桶。VZ2-8。 |
计算方式、分子分母和派生算法属于指标规格。不能提供“直接平均百分比”或“缺失统一记零”的通用 Token 来绕过数据语义。
5. 不确定性
前缀:viz.uncertainty
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 不确定性呈现 | display.mode | 枚举:inline(随主图)、expandable(存在性常驻,详情可展开)、combined。 | 估计量有可用误差信息时必选;关键结论的误差信息须在同一视图可获得。无“隐藏”档。VZ3-1、VZ3-6。 |
| 可选 | 小样本判据 | small_sample.rule.ref | 引用:最小分母、相对标准误或适用稳定性判据,含单位、用途和统计依据。 | 可能出现不稳定单元格时必填,覆盖预置与自由切分结果;不内置通用最小样本数。VZ3-3。 |
| 可选 | 不稳定值呈现 | small_sample.action | 枚举:mark、suppress、coarsen。 | 使用小样本判据时必填;合并后重新计算稳定性。禁止人工拉宽区间,隐私抑制仍独立生效。VZ3-3。 |
| 可选 | 比较判断依据 | comparison.rule.ref | 引用:目标比较量、统计方法、相关结构、多重比较处理或业务门槛及适用范围;输出区分支持差异、证据不足、未评估。 | 宣称推断性差异或自动发现异常时必填;确定记录的描述排序不强制统计检验。VZ3-5。 |
预测、目标、情景与实测的性质是事实,必须随数据传递;没有预测区间时标明信息未取得,不得以换到独立图表为由省略说明。未知误差信息不禁止查看已清楚限定性质的数值,但不得输出缺乏依据的确定结论。
6. 分析动作
前缀:viz.interaction
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 条件提交方式 | apply.mode | 枚举:immediate、explicit_submit。 | 允许修改条件时明确;即时模式也须保留提交与展示结果的绑定,不等于每个输入字符都发查询。VZ4-7。 |
| 可选 | 输入合并窗口 | apply.debounce | 非负时长,单位 ms;0 表示不合并;从最近一次输入起计。 | 即时提交需控制请求频率时配置;不延后取消与权限收紧。VZ4-7。 |
| 可选 | 加载期显示 | pending.display | 枚举:keep_labeled_result、loading_placeholder。 | 异步查询时必填;保留旧结果必须保留旧条件和时点,不能冒充新结果。VZ4-7。 |
| 可选 | 联动策略 | linking.policy.ref | 引用:来源、目标、方向、交集或并集、空选区含义、单视图或成组提交方式。 | 多视图联动时必填;联动失败与未参与分别呈现。VZ4-3、VZ4-7。 |
| 可选 | 缩放语义 | zoom.mode | 枚举:viewport_only、filter_explicit。 | 支持缩放时必填;后者进入条件区并重算,前者不改变分母。VZ4-4。 |
| 可选 | 选区用途 | selection.mode | 枚举:highlight、filter_on_select、staged_filter。 | 可选图元或区间时必填;焦点与悬停不等于选中,暂存选区提交前不改变结果。VZ4-3、VZ6-7。 |
| 可选 | 前 N 项呈现 | topn.policy | 结构:count 为正整数;remainder 取 summary 或 other_group;denominator 取 full_filtered_set 或 displayed_subset。 | 截取排名时必填;排序字段、并列处理在规格声明;余项规模与每处占比分母必须可知。VZ4-6。 |
逐项解除和清空用户可控条件是底线,不设关闭档。数据权限、固定范围及未知来源条件的可解除性由可信能力声明决定,不靠猜测条件来源。
7. 分析过程
前缀:viz.trail
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 回退深度 | restore.depth | 正整数,单位为已提交的用户可识别分析动作;连续拖拽的中间帧不另计。 | 支持探索式分析时必选;不能用 0 宣称提供回退。VZ5-1、VZ5-2。 |
| 必选 | 状态保留 | retention.ttl | 正时长,从状态被记录起计;不得短于承诺的恢复窗口。 | 支持探索式分析时必选;活跃状态的必要内容持续可用,访问记录不自动续期。VZ5-2。 |
| 可选 | 恢复依据 | restore.data | 枚举:conditions_on_current(旧条件配当前数据并提示)、frozen_snapshot(回到已保存数据快照)。 | 提供恢复时必填;冻结快照必须真实可回取且仍有权限,不能静默回落到当前数据。VZ5-2。 |
| 可选 | 历史呈现 | history.mode | 枚举:linear、branching。 | 存在分支探索时配置;两者都记录实际来源与条件,不能以线性界面丢弃当前恢复所需状态。VZ5-1。 |
记录来源、动作、条件、数据绑定与时点属于过程事实。恢复失败必须保留有效成果并说明未恢复部分,不能只恢复筛选却遗漏粒度、编码和基期。
8. 产物
前缀:viz.artifact
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 导出条件载体 | export.context | 枚举:embedded(图脚或文件内说明)、bundled(与产物作为不可遗漏的交付包)。 | 产品提供导出、截图或复制时必选;图片被单独复制仍须有关键条件,不能只靠易分离的旁文件。VZ5-3。 |
| 可选 | 分享语义 | share.mode | 枚举:snapshot、live、user_choice。 | 分享或订阅时必填;最后一项在每次交付时解析为前两者之一;接收方重核权限与条件差异。VZ5-4。 |
| 可选 | 注记失效处理 | annotation.on_change | 枚举:invalidate、mark_uncertain、retain_original_context。 | 注记或自动解读时必填;数据对象消失不允许挂到邻近图元,生成来源始终保留。VZ5-5。 |
| 可选 | 订正告知策略 | correction.policy.ref | 引用:影响结论判据、产物识别、已知接收方渠道、无法追踪时的产品内提示与局限说明。 | 已有对外产物可能被数据订正影响时必填;不能因停用新导出而取消既有告知责任。VZ5-6。 |
导出字段不作为用户可删减的集合:条件、口径、时效、粒度、基准及影响判读的误差和简化信息必须随行,具体载体可以选择。分析历史中的权限不会授权导出。
9. 感知与操作
前缀:viz.access
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 等价数据入口 | equivalent.path | 枚举:table、summary_and_values、structured_navigation。 | 呈现数据的产品必选;须覆盖该图的判读任务,与图同源、同条件、同步更新。VZ6-2。 |
| 可选 | 非颜色区分 | redundant.channels | 非空集合:shape、line_style、pattern、direct_label、position。 | 颜色承载类别或状态时必填;替代通道须表达相同区分,不能只添加装饰。VZ6-1。 |
| 可选 | 非悬停读值 | value.readout | 非空集合:keyboard、pinned_detail、labels、table。 | 详情或精确数值原在悬停中时必填;触屏必须有实际可用入口。VZ6-4。 |
| 可选 | 密集数据导航 | navigation.mode | 枚举:group_then_item、searchable_table、paged_list。 | 数据过密、逐点导航不可用时必填;分组或分页不取消定位任意获准对象的能力。VZ6-7。 |
| 可选 | 结果播报节奏 | announce.mode | 枚举:on_commit、coalesced;两者均播报提交结果或失败,后者合并连续更新。 | 有动态条件和异步结果时必填;不播报每个中间点,不允许完全静默。VZ6-5。 |
| 可选 | 动态过渡 | motion.mode | 枚举:static、reduced、full。 | 有动画时明确;系统减弱动态偏好将 full 收紧为 reduced 或 static,保留全部必要信息。VZ6-6、VZ6-7。 |
| 可选 | 色板方案 | palette.ref | 引用:具体颜色及背景、主题、冗余通道、色觉可辨与对比度验证记录。 | 颜色承载数据时必填;色板名或“色盲安全”标签不能代替实际图表检查。VZ1-6、VZ6-1、VZ6-6。 |
颜色、线宽、字号与命中区可以用表现层参数实现,但不得通过配置降低适用的可读性与操作下限。行为字典不是图表主题文件,也不声明其枚举可以直接作为 DTCG 的标准类型使用。
10. 能力依赖与失败处置
下表是解析检查,不新增 Token。省略共同前缀 viz.。
| 能力 | 必须齐备 | 依赖缺失时 |
|---|---|---|
| 面积或体积编码 | encoding.size.scaling;感知修正时有函数引用;可到达的数值路径 | 停用该编码,改用已验证的位置或长度;不把体积误配为面积。 |
| 连续颜色与分面比较 | 色标族、色板引用、实际范围及发散中点;比较尺度与稳定类别映射 | 不提供误导的大小比较;可使用数值表。 |
| 数据简化或分箱 | 方法引用、实际边界、覆盖范围、计算与渲染数据关系 | 保留可执行的全量查询或受限视图,并说明限制;不假装未发生简化。 |
| 时间聚合与刷新 | 时间策略、按来源时效门槛、实际时点与完整度 | 时点未知直接说明;没有时间边界时停用相应周期比较。 |
| 估计与推断性比较 | 不确定性事实、适用的呈现策略、比较判据;小样本规则与处置 | 信息未取得时如实披露;信息存在但呈现失败时报告失败,不改称未取得;不生成无依据的结论。 |
| 异步查询与联动 | 条件提交、加载期策略、请求及结果绑定;联动范围与完成事实 | 阻止错误结果提交;保留可解释的旧结果或错误状态,允许修改与重试。 |
| 探索与回退 | 深度、保留期、恢复依据、完整条件和事实来源 | 不承诺无法兑现的恢复范围;失败不破坏当前有效状态。 |
| 导出与分享 | 产物载体、已提交条件及对应快照、权限检查;分享语义和差异说明 | 停用该交付路径,保留分析结果;已有产物仍承担订正告知责任。 |
| 键盘及触屏分析 | 等价入口、非悬停读值、非拖动操作、焦点与选区分离 | 不把拖动或悬停作为唯一入口;可通过表格与范围输入完成任务。 |
11. 示例预设与验收
以下是一个销售分析看板的局部配置示例,其余能力仅在启用时补齐。它采用条形图、全量查询、显式提交筛选与保留旧结果。时间口径、指标公式、单位和实际数据仍由图表规格及结果契约承担。
{
"viz.encoding.baseline.policy": "zero",
"viz.encoding.comparison.scale": "shared",
"viz.encoding.dual_axis.mode": "disabled",
"viz.lineage.missing.policy": "gap",
"viz.lineage.reduction.mode": "none",
"viz.interaction.apply.mode": "explicit_submit",
"viz.interaction.pending.display": "keep_labeled_result",
"viz.interaction.selection.mode": "staged_filter",
"viz.trail.restore.depth": 20,
"viz.trail.retention.ttl": {"value": 1, "unit": "d"},
"viz.trail.restore.data": "conditions_on_current",
"viz.access.equivalent.path": "table",
"viz.access.value.readout": ["table", "pinned_detail"],
"viz.access.announce.mode": "on_commit",
"viz.access.motion.mode": "static"
}
20 步与 1 天是本例的产品选择,不是通用推荐。实现须确实保存所承诺的恢复范围,若只能保存当前会话,应先缩小承诺而不是照抄数值。
| 验收输入 | 应观察到的结果 |
|---|---|
| 选择地区 B,尚未提交 | 图仍属于 A,选区明确为待提交,不改变分母。 |
| 提交 B,A 的旧请求迟到 | 迟到请求不能覆盖 B;加载期间旧图仍标为 A。 |
| B 成功后打开数据表 | 图、表、条件与时点一致,焦点不被刷新夺走。 |
| B 失败后退一步 | 失败不生成成功历史;仍可恢复此前有效条件。 |
| 用用户覆盖将普通柱图改为位置截断策略 | 配置被拒绝,不凭已配置标示放行非零柱基线。 |
| 将时长单位写为未知值或删除必要依赖 | 解析失败并定位字段,不能把未知当作合法默认。 |
12. 不可关闭的底线
- 编码与数据一致,面积与体积按声明函数缩放,比较尺度差异可辨。
- 口径、分母、时间与加工方式可核对;缺失、抑制、零、失败分别表达。
- 估计不冒充实测,未评估不冒充无差异,区间与统计结论不由前端捏造。
- 当前展示结果与实际条件绑定;未知条件来源不伪装成默认,过期响应不覆盖当前结果。
- 分析动作可解除、过程按承诺恢复,导出与分享保留成立条件并遵守权限。
- 必要数据和分析动作可从等价路径到达;可读性、焦点和非拖动要求不能通过预设关闭。
验收分别记录配置解析、机制执行与用户理解的证据;仅通过文档检查不能声称产品符合规范。
配置交付与校验
双轴模式选择不生成统计关联。独立尺度需要完整规格与显式说明,禁用双轴也不自动保证其他编码诚实。查询结果、已提交条件、口径与导出快照绑定;示例仅检查模式枚举,不替代分母、缺失、不确定性及分析方法验证。
随附的可执行样例只覆盖 viz.encoding.dual_axis.mode,其余字段按本字典逐项校验;未覆盖不等于不适用或已通过。样例是所选字段的格式正反例,不是可直接启用全部能力的产品预设。完整产品交付另外包含适用性、依赖、证据、执行映射及进行中操作的生效边界。
字段名、类型或含义变更时更新引用方与验收样例;仅修改说明且不改变合法行为的,保留已有字段名。调用方读取解析后的有效配置,不由 UI 控件、动画或模型文字反推权限、测量或完成事实。参见对应场景。
参考来源
本文件为设计规范和Design Token提供来源。公开标准、受控研究、机构编辑准则与工程推导分别使用,不把工具实现方式当作普遍有效的证据。
一、证据读法
R01–R28 保留已有资料中的核验记录,未在本轮逐篇重新打开;其中“已核验摘要”不表示读过全文,待核验文献不能支撑具体效应量。R23 的非文本对比度解释已重新核对;R29–R32 的相关官方章节已打开核对。以下的设计推导不代表来源作者直接提出了本规范全部义务。
- 受控实验的结论受任务、数据规模与参与者限制,不推出通用图表优劣排序。
- 机构准则提供公开实践;小样本、性能与可分辨色数的门槛仍需项目验证。
- W3C 的 Understanding 与教程用于解释标准;符合性以适用成功准则及例外判定。
- 条件与结果绑定、过期响应处理、导出快照一致性主要来自故障模型推导,尚不构成用户效果实验证据。
二、学术研究:编码、感知与失真
| 编号与来源 | 核验范围 | 可支持的事实与落点 | 不能据此推出 |
|---|---|---|---|
| R01 Cleveland & McGill,Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods,JASA 79(387), 1984:出版方条目(403)、二手核验页 | 二手核验或历史资料;排序经多个独立来源一致确认,正文数值未核验 | 基本感知任务按量值判读精度的次序:共同基线上的位置 → 非对齐基线上的位置 → 长度/方向/角度 → 面积 → 体积与曲率 → 明度与饱和度。支持 VZ1-7 的通道选择依据与 VZ1-4 对面积编码的限定。 | 不能推出「面积编码一律禁止」,也不能推出某种图形永远优于另一种。该排序针对量值提取精度,不覆盖模式识别、趋势判断与记忆;被试为少量成人样本。不引用任何具体误差倍率。 |
| R02 Heer & Bostock,Crowdsourcing Graphical Perception,CHI 2010:作者实验室页、PDF 直链(页面给出,未打开) | 已核验摘要 | 众包平台上复现了 Cleveland-McGill 的空间编码实验与明度对比实验,并补充矩形面积、图表尺寸与网格线间距的实验。支持 VZ1-7 所称「已有重复验证」。 | 不能引用具体的对数误差数值或幂指数。不能推出众包适用于全部可视化评估类型——该研究验证的是知觉判读类任务。 |
| R03 Bertin 视觉变量,经 Carpendale,Considering Visual Variables as a Basis for Information Visualisation,Univ. of Calgary TR 2001-693-16,2003:机构仓库条目(未打开);原始文献 Bertin,Sémiologie Graphique,1967 | 待核验(题录经检索结果确认,两个 PDF 镜像均失败) | 以位置加一组视网膜变量(尺寸、明度、纹理、色相、方向、形状)作为编码词汇,并标注各变量的选择性、关联性、有序性与定量性。支持 VZ1-1 对「通道能承载什么性质的数据」的划分。 | 该分类基于制图学理论推演与专业经验,不是受控心理物理实验,不作实证测量引用;不覆盖交互、动画与三维。需要可核验的二手转述时应改引 R18 的教材章节。 |
| R04 Borland & Taylor,Rainbow Color Map (Still) Considered Harmful,IEEE CG&A 27(2), 2007:书目与馆藏页、出版方条目(未打开) | 已核验摘要 | 彩虹色标的三项缺陷:缺乏知觉序、亮度变化不受控、在等值区制造与数据无关的虚假边界。支持 VZ1-6 对非单调色标的禁止及其理由。 | 不能推出彩虹色标在任何场景下都错误。存在反证文献:Ware 等,Rainbow Colormaps Are Not All Bad,IEEE CG&A 2023(条目,待核验),指出高频细节分辨场景下有其用途。VZ1-6 因此写成默认禁止加例外须声明。 |
| R05 Pandey 等,How Deceptive are Deceptive Visualizations? An Empirical Analysis of Common Distortion Techniques,CHI 2015:ACM 条目(未打开) | 待核验(仅检索结果摘要) | 构造含失真技法的图表作众包实验,被试按被夸大的形式感知信息;失真足以反转应得结论时,被误导比例很高。作为 VZ1-3、VZ1-4 的问题存在性参照。 | 不能引用任何均值、效应量或显著性数值;四种技法的确切清单未经核实。不能据此推出加了警示标注即可消除误导——该问题见 R06。 |
| R06 Correll、Bertini、Franconeri,Truncating the Y-Axis: Threat or Menace?,CHI 2020:预印本、ACM 全文(403) | 已核验摘要 | 纵轴不从零起会在视觉上夸大效应量;众包实验发现该影响在多种图表类型上持续存在,即便加入明确提示「已截断」的视觉线索也无法消除。支持 VZ1-3 按编码类型而非按标注是否存在来判定。 | 不能用于支撑「截断纵轴一律禁止」——原文给出截断有益与有害两类例子,结论依传达意图而定。不引用具体的夸大百分比。本次检索未找到题名为 Threats to Graphical Integrity 的同作者文献,此处按检索到的题名记录,采用前建议再次核对。 |
| R27 Isenberg、Bezerianos、Dragicevic、Fekete,A Study on Dual-Scale Data Charts,IEEE TVCG 17(12), 2011:作者 PDF、项目页(均未打开) | 待核验(仅检索结果摘要) | 受控实验比较多种双尺度图表表示;被试认为叠加式表示令人困惑、需过多专注,且在准确率与用时上表现较差。作为 VZ1-5 的对照参考。 | 该研究对象是同一变量的两种分辨率(双尺度),与两个不同变量共用一张图的双 Y 轴并非等同;引用时须注明这一限定,不作为双轴图的直接反证。 |
三、学术研究:数据加工、不确定性、分析动作与过程
| 编号与来源 | 核验范围 | 可支持的事实与落点 | 不能据此推出 |
|---|---|---|---|
| R07 Armstrong & Wattenberg,Visualizing Statistical Mix Effects and Simpson's Paradox,IEEE TVCG 20(12), 2014:研究机构条目、PDF(未打开) | 已核验摘要 | 混合效应(极端情形即 Simpson 悖论)会影响任何以聚合值为度量的可视化,作者分析了从条形图到树图的多种常用技法如何因此致误,并提出彗星图。支持 VZ2-4 要求分组视图可到达。 | 不能推出聚合图表一律不可用;彗星图未经大规模实证评估,论文定位是技法贡献而非用户研究。 |
| R08 Song & Szafir,Where's My Data? Evaluating Visualizations with Missing Data,IEEE TVCG 25(1), 2019:NSF 公共库(仅元数据)、二手核验源 Visualization of missing data: a state-of-the-art survey | 二手核验或历史资料(题录为一手,发现经权威综述转述) | 实验为 3 类缺失编码(高亮/弱化/标注)× 3 种插补(补零/局部线性/边缘均值)× 2 种图表。转述发现:高亮缺失加局部线性插补带来更高的感知置信度与数据质量评价;打断视觉连续性会降低数据质量感知并可能使解读产生偏差。支持 VZ2-5 要求三种状态可区分且插补可辨。 | 不能引用具体统计量。研究只覆盖条形图与折线图,不外推到散点图、地图与热力图。不能据此推荐某一种插补方法为通用最优。 |
| R09 Hullman、Resnick、Adar,Hypothetical Outcome Plots Outperform Error Bars and Violin Plots for Inferences about Reliability of Variable Ordering,PLOS ONE 10(11), 2015:全文 | 已核验相关章节 | 288 名被试对比 HOPs/误差棒/小提琴图:二变量任务下 HOPs 在四种分布上全部显著更优;三变量任务显著更优。同时存在明确反例:单变量均值估计的高方差条件下 HOPs 误差显著高于两种静态表示。支持 VZ3-6 的「形式须与任务相称」。 | 不能推出 HOPs 在任何不确定性任务上都更好——原文自身给出了它更差的条件。依赖动画,不适用于静态介质与导出图像。 |
| R10 Hullman,Why Authors Don't Visualize Uncertainty,IEEE TVCG 26(1), 2020:预印本 | 已核验摘要(TVCG 卷期页码未经打开页面确认) | 清晰呈现不确定性在媒体报道、数据报告与消费级应用中是例外而非常规;方法为 90 名作者问卷与 13 名设计者访谈。原因含传播规范不鼓励、展示不确定性会减少解释弹性、研究建议与从业者需求不匹配。支持 VZ3-1 把省略识别为系统性现象而非个别疏漏。 | 不作为「省略不确定性可接受」的辩护;不是关于读者理解效果的实验,不能据此推断读者在见到区间后的判断改善。 |
| R11 Padilla、Kay、Hullman,Uncertainty Visualization,Wiley StatsRef,2021:出版方条目(未打开) | 待核验 | 不确定性可视化的最佳实践综述,以认知理论解释各手法为何支持读者判断。作为 VZ3-2、VZ3-6 的方向性入口。 | 该章具体推荐哪些技法、给出什么阈值,本次均未核实,不引用细节;不作为任何形式选择的依据。 |
| R12 NCHS,Statistical reliability of estimates — Health, United States,CDC 国家卫生统计中心:官方页面 | 已核验相关章节 | 对调查比例采用多步判定:综合最小样本量、Clopper-Pearson 95% 区间的绝对与相对宽度、自由度。标注约定为不可靠者抑制、其互补比例不可靠者呈现但加标记。支持 VZ3-3 的「标示或不出数」两类处置。 | 该页面本身不给出通用阈值数字,且明确说明联邦机构之间乃至同一机构内部无统一国家标准。因此 VZ3-3 只要求阈值被显式定义并记录依据,不给数值。常被引用的具体百分比出自其他年份报告,不作通用规则。 |
| R13 Shneiderman,The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations,IEEE VL 1996:作者自存 PDF(未打开) | 待核验(仅检索结果摘要) | 视觉信息检索箴言「先总览,缩放与过滤,再按需细节」;7 种数据类型 × 7 类任务,任务含 overview、zoom、filter、details-on-demand、relate、history、extract。history 与 extract 本就在原始任务之列,支持 VZ4-1、VZ5-1 把过程与提取视为一等能力。 | 是设计分类学而非实证评估;不能据此断言该顺序对所有任务最优——后续研究对「先总览」提出过异议。 |
| R14 Becker & Cleveland,Brushing Scatterplots,Technometrics 29(2), 1987:书目与摘要页 | 已核验摘要 | 刷选的原始定义:分析者以输入设备视觉指定点或区域,显示近乎瞬时改变;四种操作(highlight、shadow highlight、delete、label)同时作用于矩阵中的所有散点图;三种绘制模式(transient、lasting、undo)。支持 VZ4-3 的联动语义与 VZ5-2 的回退。 | 1987 年的硬件语境;「近乎瞬时」未给毫秒数,不作为响应时间门槛的来源。不能据此推出联动应默认全局生效。 |
| R15 Roberts,State of the Art: Coordinated & Multiple Views in Exploratory Visualization,CMV 2007:大学仓库条目、全文 PDF(未打开) | 已核验摘要 | 协调多视图作为一个成熟研究领域的综述,给出发展脉络、待发展方向,并将其定位为视觉分析的工具。作为 VZ4-3 的设计空间参照。 | 是综述而非实验;不能用于支撑「多视图优于单视图」的效果量论断,也不给出协调关系的推荐默认值。 |
| R16 Ragan、Endert、Sanyal、Chen,Characterizing Provenance in Visualization and Data Analysis,IEEE TVCG 22(1), 2016:机构条目 | 已核验摘要 | 提出「溯源信息类型 × 追求溯源的目的」的组织框架,用于明确所处理的溯源类型、协调设计知识、指导评估方法选择。支持 VZ5-1 与 VZ5-6 把过程记录视为可设计对象。 | 框架中具体有哪几类类型与目的,本次未读到正文,不予列举。流传的五类划分未经本次核实,不在本仓库中引用。 |
| R17 Heer、Mackinlay、Stolte、Agrawala,Graphical Histories for Visualization: Supporting Analysis, Communication, and Evaluation,IEEE TVCG 14(6), 2008:作者实验室页 | 已核验摘要 | 交互历史机制的谱系从基本 undo/redo 到用户动作的分支时间线;对历史机制的架构与界面问题作设计空间分析,并在实际产品上作设计研究。支持 VZ5-1、VZ5-2 的记录单位与回退形式。 | 着陆页未列出设计空间的细分维度,也没有量化的可用性结果;不能据此推出分支时间线优于线性历史。 |
| R18 Munzner,A Nested Model for Visualization Design and Validation,IEEE TVCG 15(6), 2009:作者机构页;及 Visualization Analysis and Design,CRC Press,2014:教材页(未验证) | 论文已核验摘要;教材待核验 | 四层嵌套模型(问题域刻画 → 数据与任务抽象 → 视觉编码与交互 → 算法),上游错误必然向所有下游层级级联,每层有各自的效度威胁与评估方法。教材提供 what/why/how 三问框架。支持 VZ1-7、VZ3-6、VZ6-3 要求「声明判读任务」先于形式选择。 | 论文着陆页未列出每层的具体验证方法清单(在正文图中),细节待核验。教材引用给出书目而非页码。框架成立不证明按其设计的产品更有效。 |
四、正式规范、公开工具与机构准则
| 编号与来源 | 核验范围及成熟度 | 在规范中的作用与边界 |
|---|---|---|
| R19 W3C WAI Tutorial — Complex Images | 已核验相关章节;W3C WAI 教程(非规范性指引),页面更新 2026-04-08 | 复杂图像须提供两部分文本替代:简短标识加传达核心信息的文本表述;「复杂图像」明确包括图表与统计图、示意图与地图。给出三种实现路径,长描述可含标题、正文与数据表。支持 VZ6-2、VZ6-3。它未规定长描述的措辞模板或字数,本规范据此只规定内容性质。 |
| R20 W3C WAI Tutorial — Tables | 已核验相关章节;W3C WAI 教程,更新 2023-02-16 | 表头须用 th、方向由 scope 界定,复杂表用 id 与 headers 显式关联,caption 标明主题。支持 VZ6-2 中「可访问的数据表」这条等价路径的可实现性。它不是关于图表本身的规范,也不覆盖交互式数据网格的键盘导航。 |
| R21 ColorBrewer 色标说明页;论文 Harrower & Brewer,ColorBrewer.org,The Cartographic Journal 40(1), 2003:出版方条目(待核验) | 工具页已核验相关章节(仅限三族色标定义);论文待核验 | 色标按数据类型分顺序型、发散型(强调有意义中点,中点为最浅色且须与数据有实质对应)、分类型三族。支持 VZ1-6 按数据性质选择色标族。本次打开的页面未记载色盲安全、印刷友好等筛选标志的定义与判定方法,该部分为待核验,本规范不据其作出色觉安全的结论。 |
| R22 Okabe & Ito,Color Universal Design,J*Fly | 已核验相关章节;页面标注最后修改 2008-09-24(十六进制取值一项为二手核验) | 给出八色加黑的安全调色板,并明确建议:避免红绿并置、颜色须与形状/线型/图案/位置冗余编码、保证亮度与饱和度差、把标签直接放在图形上而非放进色块图例、细线与小符号对色觉障碍者尤其不可见。支持 VZ6-1 的冗余通道与直接标注优先。该调色板为类别用色,不作连续色标使用,也不覆盖全色盲。常被引用的十六进制值本次未逐值抓取,采用前须比对原页。 |
| R23 W3C WCAG 2.2 — Use of Color 1.4.1、Non-text Contrast 1.4.11 | 已核验相关章节;W3C 标准解释页(非规范正文) | 1.4.1(A 级)要求颜色不作为传达信息、指示动作或区分视觉元素的唯一视觉手段,相关技法为颜色加图案、颜色加文本。1.4.11(AA 级)要求用户界面组件与「理解内容所必需的图形部件」相对相邻色至少 3:1,对比度不得四舍五入。支持 VZ6-1、VZ6-6。必要相邻边界按实际颜色与边界处理评估;不对所有系列作无差别两两检查。实际任务可分辨性另行验证。 |
| R24 DTCG Format Module、Resolver Module | 仅保留格式规范入口;未在本轮重新核验 | 提供 color、dimension、duration 等值类型与情境解析机制,可承载图表主题的表现层取值。DTCG 自述不是 W3C Standard。它不定义本字典的编码含义、条件可见性与产物携带等业务语义,因此 viz.* 与它是两层而非替代关系。 |
| R25 Datawrapper Academy — Why our column and bar charts start at zero (or below) | 已核验相关章节;机构编辑方针 | 一条产品级硬规则:柱形与条形图不允许从大于零处起轴(工具层面即禁用该选项),理由是条形长度必须与数值成比例;折线图可以但不必从零起;点图与区间图可设自定义起点。核心区分是填充的条形要求零基线,线形与点形不要求,与 VZ1-3 按编码类型判定一致。这是编辑方针而非实验证据,不作为读者误读率的量化依据。 |
| R26 Datawrapper — Why not to use two axes, and what to use instead | 已核验相关章节;机构从业者论述,2018 首发、页面显示 2026-07 更新 | 双轴图的四类问题:两轴比例可任意选取从而制造相关假象、基线不一致会歪曲增长率对比、视觉邻近促使读者直接比较而难以持续记住两轴刻度不同、正确解读的认知成本过高。推荐替代:并排小图、指数化、只画一条线并注释另一条、连接散点图。支持 VZ1-5 的替代方案取向。本身不是实验,其方向性依据见 R27。 |
| R28 FT Visual Vocabulary(Financial Times Chart Doctor 仓库) | 已核验相关章节;机构编辑材料 | 按「要讲什么关系」分为偏离、相关、排序、分布、时间变化、部分与整体、量级、空间、流动九族,用于协助按传达意图而非按图表名称选择形式。作为 VZ1-7 与图表规格中的判读任务 的实践参照。版权为 Financial Times Limited 保留全部权利,本仓库仅引用不复制。无实证依据,是编辑惯例而非研究结论。 |
五、补充核对的官方资料
| 编号与来源 | 已核对内容 | 采用位置与证据边界 |
|---|---|---|
| R29 ONS:Axes and gridlines | 区分零基线条形与可截断的位置图;建议可比图使用相同尺度。 | VZ1-3、VZ1-8。共同尺度的依据为机构编辑准则;独立尺度的呈现要求由判读任务推导,不声称实验效果。 |
| R30 Vega-Lite:Binning | 分箱属于转换,已有分箱数据需使用起止字段;默认分箱参数会参与映射。 | VZ2-7、viz.lineage.binning.mode。用于说明实际边界必须取自计算结果;不等宽频率密度与抽样精度要求不是该工具文档的实证结论。 |
| R31 Vega-Lite:Time Unit | 时间单位参与离散化;包含日历单位、周定义及本地/UTC 时间处理。 | VZ2-8、viz.lineage.time.policy.ref。时区与周期需显式声明;财务周期、夏令时测试与分享一致性是进一步的设计要求。 |
| R32 WCAG 标准正文、目标尺寸解释、拖动动作解释 | 核对文本对比度、键盘、焦点可见与不完全遮挡、24 × 24 CSS px 及例外、单指针非拖动路径。 | VZ6-6、VZ6-7。键盘替代不等于单指针非拖动替代;可见数据点尺寸不等于命中区尺寸。密集图元导航与刷新后焦点处理为本规范的任务落实要求。 |
六、设计判断与验收边界
| 主题 | 设计判断 | 验证责任 |
|---|---|---|
| 比较与编码 | 独立尺度必须可辨,相同类别在重排后保持语义;自动范围本身不禁止。 | 用真实比较任务检查误读;核对范围策略与类别标识。 |
| 不确定性 | 不凭单项区间重叠判断差异;不因没有抽样误差而排除一切不确定性。 | 统计负责人声明适用的比较规则;用户验证其含义可理解。 |
| 数据简化 | 抽样、降采样、聚类和近似计算各自声明,计算数据与渲染数据分别记录。 | 注入尖峰、长尾与不同箱宽;验证当前方法对所宣称任务的覆盖。 |
| 异步查询 | 已提交条件与展示结果绑定,过期响应不得覆盖当前结果。 | 注入乱序返回、局部失败、取消与缓存过期。属于工程一致性检验。 |
| 产物 | 导出绑定单一条件与快照,保留必要口径及不确定性。 | 导出期间修改条件、刷新数据,核对产物;不以附带免责声明代替条件。 |
| 可达性 | 等价数据和分析操作分别检查;必要图形对比度与任务可分辨性分别检查。 | 键盘、触屏、屏幕阅读器、放大及强制颜色情形分别验证。 |
尚缺少跨产品的用户效果研究、真实看板性能测量和本产品的目标读者测试。文档结构与参数合法性检查不替代这些验证。未取得原文的经典文献不引用具体误差倍率、统计效应量或方法细目。