Радиальные визуализации в декларативных системах описания графиков строятся вокруг полярной системы координат, в которой каждое наблюдение задаётся через два ключевых измерения: угловую координату и радиальную дистанцию от центра. В контексте Vega и Vega-Lite эти измерения представлены каналами angle и radius, которые заменяют традиционные x и y в декартовой системе.
Полярная система координат в Vega и Vega-Lite не является отдельным типом графика, а задаётся через комбинацию масштабов (scales), координатной системы (coordinate system) и привязки каналов данных. Каналы angle и radius формируют фундамент радиальных диаграмм, включая круговые диаграммы, радиальные гистограммы, розы направлений и радиальные временные шкалы.
Канал angle отвечает за преобразование значений данных в угловое смещение относительно начальной точки окружности. Он определяет, под каким углом будет размещён каждый элемент визуализации.
В Vega-Lite angle чаще всего используется вместе с круговой или дуговой геометрией mark типа arc. В Vega он может быть связан напрямую с трансформацией координат или с параметрами генераторов дуг.
Ключевые свойства канала angle:
В типичной круговой диаграмме значение каждой категории сначала агрегируется, затем нормализуется относительно суммы всех значений. После этого применяется угловое отображение:
Таким образом angle становится функцией распределения, а не просто координатой.
В Vega-Lite часто применяется следующая логика: поле данных через агрегат sum преобразуется в угол посредством scale с доменом [0, total] и диапазоном [0, 2π].
Канал radius определяет расстояние от центра полярной системы координат до точки отображения. Он задаёт «высоту» или «длину» в радиальном направлении.
В отличие от angle, который задаёт направление, radius определяет интенсивность или величину в выбранном направлении.
Свойства канала radius:
В радиальных гистограммах radius часто отражает частоту или агрегированное значение, тогда как angle распределяет категории по окружности. В результате каждая «долька» может иметь переменную длину, формируя неравномерное кольцо.
Сочетание angle и radius формирует полную полярную координатную систему:
Каждая точка данных преобразуется из исходного значения в пару (θ, r), где:
В Vega-Lite это часто реализуется через трансформацию stack для накопления углов и scale для радиуса.
При построении сложных диаграмм используется разбиение на несколько уровней:
Классическая круговая диаграмма использует только angle как основной канал, в то время как radius остаётся фиксированным.
Однако в расширенной версии, называемой «кольцевой диаграммой с толщиной», radius становится вторым измерением:
Такое представление позволяет визуализировать дополнительные измерения, например вторую метрику или уровень иерархии.
В радиальной гистограмме оба канала используются одновременно:
При этом каждый сектор может иметь переменную длину, создавая эффект «лучей», исходящих из центра.
Особенность такой структуры заключается в том, что интерпретация данных происходит через сравнение длин радиусов, а не через сравнение углов.
Для корректного отображения данных в радиальной системе координат применяются масштабные преобразования:
Для angle масштаб всегда ограничен кругом, что требует нормализации:
При накоплении значений используется стековая трансформация, обеспечивающая непрерывное распределение сегментов по окружности.
Внутреннее представление радиальных диаграмм в Vega опирается на геометрию дуг, где каждая точка описывается четырьмя параметрами:
Эти параметры вычисляются из исходных данных через каналы angle и radius. Затем происходит преобразование в декартову систему координат для рендеринга:
Таким образом angle и radius являются промежуточным слоем абстракции между данными и конечной графической примитивной моделью.
Использование angle и radius не ограничивается двумерными диаграммами. В сложных визуализациях возможно наложение нескольких радиальных слоёв:
В таких структурах radius перестаёт быть просто расстоянием и превращается в ось иерархии или временного измерения.
Полярные координаты обладают специфическими особенностями интерпретации:
Несмотря на это, сочетание angle и radius остаётся эффективным для компактного отображения распределений и циклических структур данных, особенно в случаях, когда требуется визуализация периодичности или композиции долей в единой форме.