SuperAPI AI 工具集

tufte-chart-design

数据与分析

查看项目

更新于 10-16 10:36

技能介绍

用途

Tufte Chart Design 是一个把“做个图表”需求转化为遵循 Edward Tufte 可视化原则的技能,目标产出数据诚实、数据墨水比高、去除图表垃圾(chartjunk)的图表。其原则提炼自 Tufte 的三本基础著作:《The Visual Display of Quantitative Information》《Envisioning Information》《Visual Explanations》。

主要能力

  • 在被要求创建、改进或评审任何图表或可视化时自动激活。
  • 应用从 Tufte 著作中提炼的十条核心原则。
  • 根据数据形态与分析目标选择合适的图表类型。
  • 去除图表垃圾:3D 效果、不必要的网格线、冗余图例、饼图、双轴等。
  • 以内联 SVG、React(Recharts)或 React 内嵌 D3 形式输出干净结果。
  • 强制图形完整性:图形失真系数(lie factor)保持在 0.95 到 1.05 之间,条形图始终从零开始。

十条原则

  1. Show the data——最重要的是展示数据,每个决策都问“这是否有助于看见数据?”
  2. Maximize data-ink ratio——随数据变化而变化的墨水才是数据墨水,其余都是开销。
  3. Erase non-data-ink——移除边框、网格线、次级刻度标记。
  4. Erase redundant data-ink——每个量只做一种编码,不要用柱+数字+网格线+刻度重复展示“37”。
  5. Graphical integrity——条形图从零开始;绝不用面积表示一维量;失真系数 =(显示的效果大小)/(数据中的效果大小)。
  6. Small multiples——共享刻度上的多个小图优于一张含多条重叠线的图。
  7. Layering and separation——数据在最上层,标签其次,框架最淡;避免 1+1=3 的视觉噪音。
  8. Micro/macro readings——远看是一个整体形状,近看每个点都可读。
  9. Smallest effective difference——灰色表示背景,一个强调色表示焦点,微妙但清晰。
  10. Word-data integration——句子中的迷你趋势图(sparkline);数字与视觉相邻;表格也是图表。

激活时机

自动触发:

  • “Make a chart of...”“visualize...”“graph...”“plot...”
  • “Build a dashboard”“design a KPI tile”
  • “Improve this chart”“critique this visual”
  • “What chart should I use for...?”
  • /tufte 命令或直接提到 Tufte
  • 任何涉及图表/可视化代码的代码编辑会话

不触发:

  • 标志、插画、装饰性图形
  • 流程图、架构图、线框图
  • 无定量数据的纯排版或布局

图表选择指南

数据形态 目标 使用 不要使用
单条时间序列 展示趋势 Sparkline 或折线图 面积图、条形图
多条时间序列 比较趋势 小倍数图(分开的图) 多线意大利面图
类别(≤10) 比较数值 按值排序的点图或条形图 饼图、环形图、3D 柱
类别(>10) 展示分布 条带图或直方图 彩虹色阶
两个时间点 展示变化 斜率图(slopegraph) 分组柱
部分与整体 展示构成 带百分比的排序表 饼图、环形图、堆叠柱
流程阶段 展示流转 横向柱 + 百分比 3D 漏斗
相关性 展示关系 散点图 双轴线图
随时间变化的同期群 展示留存 顺序热力图 + sparkline 彩虹热力图
地理 展示区域模式 等值线图(单色顺序) 彩虹等值线图

禁用清单

❌ 3D 效果——扭曲面积感知,不增加信息 ❌ 饼图——人无法比较角度,改用排序表 ❌ 环形图——与饼图同样的问题,且更糟 ❌ 双轴图——看图者无法分辨相关性是否真实或由轴操纵产生 ❌ 彩虹色阶——感知上不均匀,改用单色顺序 ❌ 渐变填充——装饰性墨水,不是数据墨水 ❌ 阴影、发光——图表垃圾 ❌ 图表边框/方框——擦除,数据应漂浮 ❌ 粗网格线——如果需要,直接印上数值 ❌ 冗余图例——改为直接标注

使用方式

技能无需安装,声明已在环境中激活。触发后按请求可用以下输出模式:

  1. HTML/SVG——当被要求内联 SVG 或未指定偏好时,使用给定的 HTML/SVG 模板样式(字体、标签、数值、数据点、数据线、参考线、强调色等 CSS 类),并附有 Sparkline 示例与点图示例的具体 SVG 代码。
  2. React/Recharts——当被要求 React 或 Recharts 时使用;示例包含 LineChart 用法与一个 tufte 主题配置对象(隐藏轴线、去除刻度线、网格极淡、默认不用 tooltip、不用图例)。
  3. React 内嵌 D3——用于斜率图、自定义点图、小倍数图等;示例给出 Slopegraph 的完整实现思路(scaleLinear、绘制 line、左右标签、列标题)。
  4. 小倍数图模式——共享 Y 轴 domain,用网格排布多个小图,而非叠加。
  5. 仪表盘 KPI 磁贴模式——用表格 + sparkline + 目标差值替代巨型数字磁贴。

发布前检查清单

  • 数据墨水比 > 0.7
  • 无图表垃圾(无 3D、渐变、阴影、装饰元素)
  • 失真系数 0.95–1.05
  • 如展示量级,条形图从零开始
  • 直接标注,除非不可避免不用图例
  • 分类按值排序,而非按字母
  • 最多一个强调色(灰为背景,一色为焦点)
  • 两种尺度下可读(远看形状,近看数值)
  • 无双轴(若想用,改做小倍数图)
  • 精度重要时印出数值
  • 图表类型与数据形态、分析目标匹配
  • 所有墨水都必要

常见例外处理

若用户明确要求禁用清单中的内容(例如“CFO 想要饼图”),应遵从请求,但添加注释说明 Tufte 的替代方案(例如:按请求使用饼图,Tufte 替代方案为带百分比的排序表)。用户保留控制权,同时提供替代方案供参考。

配色规则

  • 默认:灰度。黑色为数据,中灰(#666)为标签,浅灰(#e0e0e0)为参考线。
  • 一个强调色:红色(#d73027)或蓝色(#4575b4),用于高亮一个系列或标记异常值。
  • 顺序色阶:单色(由浅到深),绝不用彩虹。
  • 发散色阶:两色在中间中性处相接(红-白-蓝),步长相等。
  • 分类色:仅在类别无自然顺序时使用,最多 5 种颜色;优先考虑直接标注 + 灰度。

常见问题处理

问题 处理
“图表感觉拥挤” 增加内边距、减小字号,或用小倍数图
“标签读不出来” 在数据点直接标注而非走轴;必要时旋转
“留白太多” Tufte 偏好留白——不要填充,让数据呼吸
“图例与数据重叠” 移除图例,在每条线/柱的终点直接标注
“要求网格线” 改为在图上印数值;仅在关键阈值用极淡参考线
“要求双轴” 做两张共享 X 轴的独立图,纵向堆叠

限制

资料未提供安装或部署步骤(声明无需安装、已激活)、未提供收费与价格信息、未提供平台支持范围、未提供具体效果或性能数据。