图里的颜色,听谁的

Legend 对齐之后,说明力掉了一截

《给 AI 的数学》第八章 SVD 那几张「格子图」时,我先做了一件看起来正确的事:把颜色往前言的 legend 上对齐。

A 改成粉。
U、Vᵀ 改成紫——正交矩阵在 legend 里就是紫。
Σ 的对角改成浅绿——对角矩阵在 legend 里就是浅绿。

对齐完成。图却忽然变钝了。


Legend 管的是「类型」

Legend 回答的问题很干净:

这是什么矩阵?

粉:一般矩形。
紫:正交。
绿对角:对角阵。
橙:置换。
暗红渐变:对称。

这些颜色是全书约定,分解框图(decomp_*)跟着走,读者不会迷路。


格子图还要多说一层

Full / Thin / Compact / Truncated 那四张图,任务不只是报类型。

它们还要让人看见:

  • U 的是一条条左奇异向量
  • Vᵀ 的是一条条右奇异向量
  • Σ 对角上的星,是大小不同的奇异值
  • 裁掉以后,少了哪几列、哪几行、哪几个对角元

整块同色紫,类型对了,结构叙事却没了。
像把说明书的封面印对了,目录却撕掉了。


折中

最后留下的规则是:

位置 颜色 理由
A 粉色系,格子深浅略不同 仍是 legend 的「一般矩阵」;深浅打散,避免被人读成「每个元素都一样」
U 紫色系,按列分深浅 近 legend 的正交色,又保留列向量的可辨认性
Vᵀ 紫色系,按行分深浅 转置之后,右奇异向量躺成行
Σ 对角 绿色系,由深到浅 近 legend 的对角色,又区分不同奇异值
Σ 其余 白底写 0 明确:这里是零

A 要不要随机粉,我犹豫过。
均匀粉对齐 legend 最干净;但格子画出来以后,均匀填充很容易让人以为每个值相同。
所以用确定性的粉阶打散——有变化,却不按行、不按列排,免得假装成 U 或 Vᵀ 那种结构。


一句原则

Legend 管类型;类型内部的深浅,管结构。

框图可以只听 legend。
示意图若还要教「什么在动、什么被裁」,就不能把所有同类型的块涂成同一桶颜料。

颜色先对齐,是纪律。
对齐之后愿意退半步,是为了让图还能说话。