跳到主要内容
文心 · 万形

数据可视化

图表是文章里的插图,不是仪表盘上的控件。 四条规则全部从既有约束推导,而非新发明。

四条规则

R1 · 用墨色编码,不用色相

序列靠墨色阶梯(heading → primary → secondary → functional → border-strong) 加线型(实线 / 虚线 / 点线)区分。这直接来自"禁止高饱和装饰色"和 "颜色不作为唯一信息载体"——线型让图表在灰度打印和色盲条件下都成立。

R2 · 用强调色标记论点,不标记类别

全图只有一个序列 / 柱 / 点可以是 accent —— caption 正在讲的那一个。 在阅读轨内容页,它消耗两处 accent 预算中的一处;应用轨按页面契约分配强调, 但图表本身仍不把 accent 降格为普通分类色。

R3 · 直接标注,不用图例

在序列右端直接写名字,而不是让读者在图例和曲线之间来回对照。 这是"文字即界面"在数据上的应用。

R4 · 装饰做减法

无网格线(只留一根基线)、无坐标框、 无刻度线(标签即刻度)、无背景填充。

适用的图形类型(不是预制组件)

折线(≤4 序列)· 面积(单序列)· 柱 · 排行条 · 点 / 棒棒糖 · 斜率 · 迷你图 · 小倍数 · 分布带 · 占比堆叠(≤3 段)· 表内条 · 时间线

当前交付的是图表样式、静态 SVG 输出约定与三份主题配置;不附带数据、图表运行时或成品图库。 本页不拿虚构数据伪造图例。实际项目应从真实数据、来源与 caption 开始,再选择下方对应的消费方式。

新增禁令

禁止原因
饼图 / 环形图角度比较是人眼最差的编码方式
雷达图 · 仪表盘 · 3D面积失真,且属于装饰性图形
词云 · 树图 · 气泡面积编码不精确
双 Y 轴两个刻度可以任意缩放出任意相关性
渐变填充 · 阴影 · 圆角柱帽已被既有禁令覆盖

多数已被现有禁令隐含——这一节主要是把既有禁令应用到新媒介。

一个诚实的代价

灰阶方案在 ≥5 序列时会失效

墨色阶梯只有四到五档可辨,超过就区分不开。这套系统的选择是 声明"文心不做多序列密集图表",把它归入本就在适用范围外的仪表盘, 而不是引入分类色板破坏 D9。把限制说出来,比假装没有限制诚实。

静态 SVG 输出约定

当内容流程或图表工具输出静态 SVG 时,有一条关键约定:

vector-effect: non-scaling-stroke;

这是 1.5px 描边在海报尺度下仍然是 1.5px 的关键—— 没有它,放大十倍的图里线条会粗到破坏整个系统的气质。

三种消费方式

  • 静态 SVG 输出 —— kit/charts/ 的样式 + SVG 约定
  • Mermaid 主题 —— 由 token 生成,导入已有 Mermaid 项目,取代手写转换表
  • ECharts / Vega 主题 JSON —— 给已有项目导入的生成物;本包不引入运行时依赖
kit/tokens/generated/mermaid-wenxin.json
kit/tokens/generated/echarts-wenxin.json
kit/tokens/generated/vega-wenxin.json

它们都由 npm run build:themes 从 core.css 生成—— 改一个 token,三个主题同时更新,不会漂移。