play.html, доступный по пути /play на любом HTTP-порту ClickHouse) может раскрашивать ячейки результатов, чтобы закономерности в столбце было проще заметить с первого взгляда. У каждого столбца есть собственный режим цветового кодирования, который можно переключать независимо от других.
Переключение режима
- Числовые столбцы и столбцы
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)меньше микросекунды не различаются на цветовой шкале, так как для градиента это визуально не имеет смысла.