Легенда
Подобно осям, легенды показывают смысл шкал. Оси помогают интерпретировать шкалы положения, а легенды — шкалы с такими выходными значениями, как цвета, формы и размеры.
По умолчанию Vega-Lite автоматически создаёт легенды со стандартными свойствами для каналов color, opacity, size и shape, когда они кодируют поля данных. Свойство legend в определении поля канала свойств примитива можно задать объектом для настройки свойств легенды или установить в null, чтобы убрать легенду.
Помимо legend в определении поля, объект config предоставляет конфигурацию легенд (config: {legend: {...}}), задающую свойства по умолчанию для всех легенд.
Виды легенд
По умолчанию Vega-Lite создаёт градиентные легенды для цветовых каналов с количественными полями без разбиения на интервалы и с временными полями.
В остальных случаях создаются символьные легенды.
Объединение легенд
Если несколько каналов кодируют одни и те же поля, Vega-Lite автоматически объединяет их легенды. Например, следующая диаграмма кодирует Origin цветом (color) и формой (shape); в результате легенда показывает и кодируемые цвета, и формы.
Свойства легенды
// Спецификация одиночного представления или слоя
{
...,
"mark/layer": ...,
"encoding": {
"x": ...,
"y": ...,
"color": {
"field": ...,
"type": ...,
"legend": { // Легенда
...
},
...
},
...
}
}
Для настройки легенды укажите объект legend в определении канала кодирования. В этом разделе перечислены все свойства легенд.
См. также: интерактивная статья «A Guide to Guides: Axes & Legends in Vega» демонстрирует оси и легенды в базовом языке Vega.
Общие свойства
| Свойство | Тип | Описание |
|---|---|---|
aria |
boolean, ExprRef | Включать ли атрибуты ARIA (только при выводе SVG). При false группа SVG получает aria-hidden, удаляя легенду из дерева доступности ARIA.По умолчанию: true. |
cornerRadius |
number, ExprRef | Радиус скругления углов всей легенды. |
description |
string, ExprRef | Текстовое описание легенды для доступности ARIA (только при выводе SVG). Если aria равно true, атрибут aria-label получает это описание. Если описание не задано, оно создаётся автоматически. |
direction |
Orientation | Направление легенды: "vertical" или "horizontal".По умолчанию: "horizontal" для расположения сверху/снизу, "vertical" для слева/справа. Для угловых положений (top-left, top-right, bottom-left, bottom-right) — "horizontal" у градиентных легенд и "vertical" у символьных. |
fillColor |
null, Color, ExprRef | Цвет заливки фона всей легенды. |
legendX |
number, ExprRef | Собственная координата X легенды с orient: "none". |
legendY |
number, ExprRef | Собственная координата Y легенды с orient: "none". |
offset |
number, ExprRef | Смещение легенды относительно прямоугольника данных и осей, в пикселях. По умолчанию: 18. |
orient |
LegendOrient | Расположение легенды в сцене: "left", "right", "top", "bottom", "top-left", "top-right", "bottom-left", "bottom-right", "none".По умолчанию: "right". |
padding |
number, ExprRef | Отступ между границей и содержимым группы легенды. По умолчанию: 0. |
strokeColor |
null, Color, ExprRef | Цвет обводки границы всей легенды. |
type |
"symbol", "gradient" | Вид легенды: "symbol" создаёт дискретную легенду, "gradient" — непрерывный цветовой градиент.По умолчанию: "gradient" для количественных полей без разбиения на интервалы и временных полей; иначе "symbol". |
tickCount |
TickCount, ExprRef | Желаемое число значений делений количественной легенды. |
values |
number[], string[], boolean[], DateTime[], ExprRef | Явно заданные видимые значения легенды. |
zindex |
number | Неотрицательное целое число, определяющее порядок наложения легенды. При 0 она рисуется позади всех элементов диаграммы; для размещения поверх них используйте 1. |
Градиент
| Свойство | Тип | Описание |
|---|---|---|
gradientLength |
number, ExprRef | Длина основной оси цветового градиента в пикселях: высота вертикального градиента или ширина горизонтального. Неотрицательная. По умолчанию: 200. |
gradientOpacity |
number, ExprRef | Непрозрачность цветового градиента. |
gradientStrokeColor |
null, Color, ExprRef | Цвет обводки градиента: шестнадцатеричный код или обычное имя цвета. По умолчанию: "lightGray". |
gradientStrokeWidth |
number, ExprRef | Толщина обводки градиента в пикселях, неотрицательная. По умолчанию: 0. |
gradientThickness |
number, ExprRef | Толщина цветового градиента в пикселях: ширина вертикального или высота горизонтального градиента. Неотрицательная. По умолчанию: 16. |
Подписи
| Свойство | Тип | Описание |
|---|---|---|
format |
Format | Спецификатор формата чисел и дат/времени в подписях осей, легенд, заголовков панелей и в текстовых примитивах. При formatType: "number", например для количественных полей, используется строка шаблона числового формата D3.При formatType: "time", например для временных полей, используется либо строка статического формата времени D3, либо объект динамического формата времени, выбирающий формат по детализации входной даты — границе года, месяца, дня, часа и т. п.При собственном formatType это значение передаётся зарегистрированной функции как format вместе с datum.value.По умолчанию: определяется numberFormat или timeFormat конфигурации. |
formatType |
string | Тип формата подписей: "number", "time" или зарегистрированный собственный тип.По умолчанию: "time" для временных полей и порядковых/номинальных полей с timeUnit; "number" для количественных полей и порядковых/номинальных полей без timeUnit. |
labelAlign |
Align, ExprRef | Выравнивание подписи легенды: "left", "center" или "right". |
labelBaseline |
TextBaseline, ExprRef | Положение базовой линии подписи: "top", "middle", "bottom" или "alphabetic".По умолчанию: "middle". |
labelColor |
null, Color, ExprRef | Цвет подписи легенды: шестнадцатеричный код или обычное имя цвета. |
labelExpr |
string | Выражение Vega для настройки подписей. Примечание: текст и значение подписи доступны через свойства label и value объекта datum, используемого легендой. |
labelFont |
string, ExprRef | Гарнитура шрифта подписи легенды. |
labelFontSize |
number, ExprRef | Размер шрифта подписи легенды, неотрицательный. По умолчанию: 10. |
labelFontStyle |
FontStyle, ExprRef | Начертание шрифта подписи легенды. |
labelLimit |
number, ExprRef | Максимальная допустимая ширина подписей делений легенды, в пикселях. По умолчанию: 160. |
labelOffset |
number, ExprRef | Смещение подписи легенды, неотрицательное. По умолчанию: 4. |
labelOverlap |
LabelOverlap, ExprRef | Стратегия устранения пересечения подписей градиентной легенды. false отключает устранение. true (по умолчанию) или "parity" удаляет каждую вторую подпись. "greedy" последовательно просматривает подписи и удаляет каждую, пересекающую последнюю видимую; это часто лучше работает для логарифмических осей.По умолчанию: true. |
Символы
| Свойство | Тип | Описание |
|---|---|---|
symbolDash |
number[], ExprRef | Массив чередующихся длин штрихов и промежутков [штрих, промежуток] для пунктирной обводки символов. |
symbolDashOffset |
number, ExprRef | Начальное смещение в пикселях при рисовании обводки по массиву штрихов. |
symbolFillColor |
null, Color, ExprRef | Цвет заливки символа легенды. |
symbolOffset |
number, ExprRef | Горизонтальное смещение символов легенды в пикселях. По умолчанию: 0. |
symbolOpacity |
number, ExprRef | Непрозрачность символов легенды. |
symbolSize |
number, ExprRef | Размер символа легенды в пикселях, неотрицательный. По умолчанию: 100. |
symbolStrokeColor |
null, Color, ExprRef | Цвет обводки символов легенды. |
symbolStrokeWidth |
number, ExprRef | Толщина обводки символа, неотрицательная. По умолчанию: 1.5. |
symbolType |
SymbolShape, ExprRef | Форма символа: circle (по умолчанию), square, cross, diamond, triangle-up, triangle-down, triangle-right, triangle-left; линейный символ stroke; центрированные направленные формы arrow, wedge, triangle. Также можно задать собственную строку пути SVG. Для правильного размера путь должен помещаться в квадрат с координатами от −1 до 1 по обеим осям.По умолчанию: "circle". |
Расположение символов
| Свойство | Тип | Описание |
|---|---|---|
clipHeight |
number, ExprRef | Высота в пикселях, по которой обрезаются элементы символьной легенды для ограничения их размера. |
columnPadding |
number, ExprRef | Горизонтальный отступ между элементами символьной легенды, в пикселях. По умолчанию: 10. |
columns |
number, ExprRef | Число столбцов символьной легенды. Значение 0 или меньше означает одну строку с отдельным столбцом для каждого элемента. |
gridAlign |
LayoutAlign, ExprRef | Выравнивание строк и столбцов символьной легенды: "all", "each" (по умолчанию) или "none". Подробнее — в документации сеточной компоновки Vega.По умолчанию: "each". |
rowPadding |
number, ExprRef | Вертикальный отступ между элементами символьной легенды, в пикселях. По умолчанию: 2. |
symbolLimit |
number, ExprRef | Максимально допустимое число элементов символьной легенды. Остальные элементы отбрасываются. |
Название
| Свойство | Тип | Описание |
|---|---|---|
title |
Text, null | Название поля. null убирает название.По умолчанию: формируется из имени поля и преобразований aggregate, bin и timeUnit. Функция агрегирования включается в название, например "Sum of Profit"; разбиение и единица времени указываются в скобках, например "Profit (binned)" или "Transaction Date (year-month)". Без преобразований используется имя поля.Формат названия можно изменить свойством fieldTitle в config или функцией fieldTitle в параметрах compile. Если задано и название поля, и title оси, заголовка панели или легенды, используется название оси, заголовка или легенды. |
titleAlign |
Align, ExprRef | Горизонтальное выравнивание названия легенды. По умолчанию: "left". |
titleAnchor |
TitleAnchor, ExprRef | Положение текстовой привязки для размещения названия легенды. |
titleBaseline |
TextBaseline, ExprRef | Вертикальная базовая линия названия легенды: "alphabetic", "top", "middle", "bottom", "line-top" или "line-bottom". Варианты line-top и line-bottom действуют подобно top и bottom, но вычисляются относительно высоты строки, а не только размера шрифта.По умолчанию: "top". |
titleColor |
null, Color, ExprRef | Цвет названия легенды: шестнадцатеричный код или обычное имя цвета. |
titleFont |
string, ExprRef | Гарнитура шрифта названия легенды. |
titleFontSize |
number, ExprRef | Размер шрифта названия легенды. |
titleFontStyle |
FontStyle, ExprRef | Начертание шрифта названия легенды. |
titleFontWeight |
FontWeight, ExprRef | Насыщенность шрифта названия: строка, например "bold" или "normal", либо число 100, 200, …, 900, где "normal" соответствует 400, а "bold" — 700. |
titleLimit |
number, ExprRef | Максимальная допустимая ширина названия легенды в пикселях, неотрицательная. По умолчанию: 180. |
titleLineHeight |
number, ExprRef | Высота строки в пикселях для многострочного названия или названия с базовой линией "line-top" / "line-bottom". |
titleOpacity |
number, ExprRef | Непрозрачность названия легенды. |
titlePadding |
number, ExprRef | Отступ между названием и легендой, в пикселях. По умолчанию: 5. |
Конфигурация легенд
// Спецификация представления верхнего уровня
{
...,
"config": {
"legend": {
...
}
}
}
Конфигурация config: {legend: {...}} задаёт общую тему легенд и поддерживает все свойства легенды, кроме direction (вместо него используются отдельные gradientDirection и symbolDirection), format, tickCount, values и zindex.
Конфигурация также поддерживает следующие свойства:
| Свойство | Тип | Описание |
|---|---|---|
disable |
boolean | Отключает создание легенд по умолчанию. |
gradientDirection |
Orientation, ExprRef | Направление градиентных легенд по умолчанию: "horizontal" или "vertical".По умолчанию: "vertical". |
gradientHorizontalMaxLength |
number | Максимальная длина горизонтальной градиентной легенды, если config.legend.gradientLength не задано.По умолчанию: 200. |
gradientHorizontalMinLength |
number | Минимальная длина горизонтальной градиентной легенды, если config.legend.gradientLength не задано.По умолчанию: 100. |
gradientLabelLimit |
number, ExprRef | Максимальная допустимая длина подписей цветового градиента, в пикселях. |
gradientLabelOffset |
number, ExprRef | Вертикальное смещение подписей цветового градиента, в пикселях. По умолчанию: 2. |
gradientVerticalMaxLength |
number | Максимальная длина вертикальной градиентной легенды, если config.legend.gradientLength не задано.По умолчанию: 200. |
gradientVerticalMinLength |
number | Минимальная длина вертикальной градиентной легенды, если config.legend.gradientLength не задано.По умолчанию: 100. |
symbolBaseFillColor |
null, Color, ExprRef | Цвет заливки символов легенды по умолчанию. Применяется только при отсутствии цветового кодирования шкалы fill для легенды.По умолчанию: "transparent". |
symbolBaseStrokeColor |
null, Color, ExprRef | Цвет обводки символов легенды по умолчанию. Применяется только при отсутствии цветового кодирования шкалы fill для легенды.По умолчанию: "gray". |
symbolDirection |
Orientation, ExprRef | Направление символьных легенд по умолчанию: "horizontal" или "vertical".По умолчанию: "vertical". |
unselectedOpacity |
number | Непрозрачность невыбранных элементов легенды. По умолчанию: 0.35. |