揭开 Tufte「数据墨水比」的神秘面纱

查看原文 HN 讨论

文章摘要

这是 ScienceUX Labs 的 Adithya Manavalan、Michael Lai 和 Mike Morrison 做的一个交互式指南,名字叫「Tufte’s Razor」,讲 Edward Tufte 提出的「数据墨水比」(data-ink ratio):一张图里有多少墨水真正在表达数据,以及删减到哪一步该停。网站是纯前端渲染的单页应用,本文内容取自页面脚本里的文字,读者在页面上可以亲手拆解一张杂乱的柱状图,看着每部分墨水被逐像素统计。

基本定义。 数据墨水比等于「表达数据所用的墨水」除以「图表用掉的全部墨水」。指南把图上的墨水分成三类:数据墨水是擦掉就会丢信息的部分,比如每根柱子中间那条最细的线(柱子靠长度表达数值,这条线是表达数值所需的最少墨水),还有标题和坐标轴标签;冗余数据墨水是柱子多出来的宽度、重复坐标轴信息的数值标签,它们能帮读者读数,但删掉也不丢信息;非数据墨水是坐标轴线、网格线、边框、底纹等,和数字本身没关系。纸张不算墨水,不管是什么颜色;被别的墨水挡住的部分(比如柱子后面的网格线)也不算。指南也承认,严格按 Tufte 的定义(数据墨水是「不可擦除的、不冗余的、随数值变化而布置的墨水」),标题和标签其实不合格,因为柱子的名字不会随数值变化,但删掉它们读者就丢了必要信息,所以这里把它们算作数据墨水。

一步步擦除。 指南拿一张套用软件默认样式的五根柱状图做示范:先去掉最大块的非数据墨水,也就是灰色绘图区底纹,比值明显上升;再去掉网格线、刻度线、边框和过大的字号,比值反而略降,因为字变小后数据墨水也少了。接着让数值标签和坐标轴二选一,把「Chart Title」改成直接说出结论的标题(比如「北站最忙:每周 9 千人次」),比值继续上升。如果一直擦到只剩几根线,比值最高,但没人知道这些线表示什么。结论是不能一味追求最高比值,退回一步才是合适的停点。

几个反直觉的例子。 背景色:白纸、浅蓝纸、深色纸上,比值完全一样,因为纸不是墨水;但在柱子后面画一个浅色方框,那就是大块非数据墨水,比值会大降。柱宽:柱子越宽,同样的数值用的墨水越多,比值越低;细到发丝时比值最高,却很难看清、难比较。指南建议柱子大约占每个格子宽度的一半。字号:标题和标签属于数据墨水,字号放大反而让比值上升,但会抢走对数据的注意力;字号缩小比值下降,读者也更吃力。所以比值决定不了字号,只要保证标题比标签大、字号在一臂距离外能看清就行。

比值看不见的问题。 指南还整理了 Lan 和 Liu 研究过的 2000 多张被公众吐槽为「垃圾」的可视化(IEEE TVCG,2025)中的常见缺陷,并说明每种缺陷会把比值往哪个方向推。比如阴影和渐变、装饰图案压在数据上、颜色/大小/形状重复编码同一变量、散点相互遮挡、双 Y 轴、数据挤得太密。有些问题比值根本反映不出来:被遮挡的点不耗墨水,计数器看不到遮挡的代价,只有读者看得到;双 Y 轴本身用墨很少,代价在读者脑子里。最后给出一份清单:标题要交代背景,数值要带单位,标签、刻度和网格线不要全都用上,少用底纹和边框,柱宽适中、柱子画全高,尽量直接标注,没有自然顺序的类别要排序,最多突出一两个重点,所有文字都要清晰可读。指南最后说明,这个网页本身也按同样的原则设计过。

HN 评论精华

这个帖子评论不多。值得一提的是用户 s4074433 自称是相关文章的作者,在评论区逐条回应。另外有好几位用户认为这个指南本身像 LLM 生成的文字,重复、啰嗦,这也成了讨论的一条支线。

对 Tufte 理论本身的质疑

对示例和具体建议的批评

「这是不是 LLM 写的」