play.html,可通过任意 ClickHouse HTTP 端口上的 /play path 访问) 可以为结果单元格着色,便于一眼识别某一列中的模式。每一列都有各自独立且可单独切换的颜色编码模式。
切换模式
- 数值列以及
Date/DateTime/Date32/DateTime64列会按bar→heatmap→categorical→none的顺序循环切换。 - 其他所有列则在
none和categorical之间切换。
bar,其他所有列 (包括日期和时间列) 的模式均为 none。
模式
bar— 在单元格中绘制与值成比例的水平条。对于数值列,条形会从零基线开始延伸;对于Date/DateTime列,则会改为覆盖该列的min..max范围,因为零基线对时间戳没有实际意义。heatmap— 用颜色填充整个单元格背景,颜色根据该列最小值与最大值之间的缩放值来编码。categorical— 用基于单元格值哈希得到的颜色填充单元格背景,因此相同的值会显示为相同的颜色,不同的值会显示为不同的颜色。这适用于任何列类型。none— 不使用颜色编码。
Date、DateTime、Date32 和 DateTime64 列会根据其时间值着色,并按 UTC 解析,因此该标度不受查看者浏览器时区的影响。
heatmap 和 categorical 的背景颜色使用 oklch 色彩空间,只改变色相,同时根据主题固定明度和彩度,因此无论在浅色还是深色主题下,单元格文本都能保持可读。即使某一行显示为多行,背景也会填满整个单元格。
按所选内容进行 categorical 强调
categorical 模式下,选择一个单元后,其他具有相同值的单元会被突出显示:它们会以更粗的字重和完全对比的文本颜色显示 (深色主题中为纯白,浅色主题中为纯黑) 。被选中的单元本身则不会被强调。这样就能轻松看出某个特定值在该列中的其他位置还会出现在哪里。
持久化
局限性
- 纵向 (转置) 单行布局不显示颜色编码。
DateTime64(9)在 1 微秒以下的差异不会在色标中加以区分,因为这类渐变在视觉上没有实际意义。